Ir ao conteúdo
  • Cadastre-se

Misto_Crente

Membro Júnior
  • Posts

    8
  • Cadastrado em

  • Última visita

Reputação

4
  1. @Gabriel_Moro Obrigado! Ajudou muito ^-^
  2. Olá gente, quando eu insiro um elemento, aparentemente da tudo certo. Porém quando eu insiro mais de um elemento, a função impressao_listaFREQ não imprime o resto dos elementos. Alguem poderia me ajudar? <#include <stdio.h> #include <stdlib.h> typedef int elem; typedef struct no { struct no *prox; struct no *ant; int info; } No_LFREQ; typedef struct { No_LFREQ *ini; No_LFREQ *fim; } ListaFREQ; void cria_listaFREQ(ListaFREQ *l); void destroi_listaFREQ(ListaFREQ *l); int esta_vazia_listaFREQ(ListaFREQ l); void insere_listaFREQ(ListaFREQ *l, elem x); int esta_na_listaFREQ(ListaFREQ *l, elem x); void impressao_listaFREQ(ListaFREQ l); int remover_listaFREQ(ListaFREQ *l, elem x); int main() { ListaFREQ l; cria_listaFREQ(&l); insere_listaFREQ(&l, 22); insere_listaFREQ(&l, 10); insere_listaFREQ(&l, 8); insere_listaFREQ(&l, 33); impressao_listaFREQ(l); return 0; } void cria_listaFREQ(ListaFREQ *l) { l->ini = NULL; l->fim = NULL; } void destroi_listaFREQ(ListaFREQ *l) { No_LFREQ *p; while (l->ini != l->fim) { p = l->ini; l->ini = l->ini->prox; free(p); } l->fim = NULL; } int esta_vazia_listaFREQ(ListaFREQ l) { return !l.ini ? 1 : 0; } void insere_listaFREQ(ListaFREQ *l, elem x) { No_LFREQ *p = malloc(sizeof(No_LFREQ)); p->info = x; p->prox = p->ant = p; if (l->ini == NULL) l->ini = l->fim = p; else { p->prox = l->ini; p->ant = l->ini->ant; l->ini->ant = p; } } int esta_na_listaFREQ(ListaFREQ *l, elem x) { No_LFREQ *aux_inicio = l->ini; No_LFREQ *aux = l->ini; No_LFREQ *aux2; do { if (l->ini->info == x) { if (aux_inicio->info != x) { aux2->info = aux->info; aux->info = aux->prox->info; aux->prox->info = aux2->info; } return 1; } aux = aux->prox; } while (l->ini != aux_inicio); return 0; } void impressao_listaFREQ(ListaFREQ l) { No_LFREQ *aux = l.ini; if(aux == NULL) return; printf("%d ", aux->info); aux = aux->prox; while (aux != l.ini) { printf("%d ", aux->info); aux = aux->prox; } printf("\n"); } int remover_listaFREQ(ListaFREQ *l, elem x) { No_LFREQ *p; No_LFREQ *aux; aux = l->ini; p = l->ini; if (l->ini->info == x) return 0; while (p != aux) { if (p->info == x) { p->prox = p->ant; p->ant = p->prox; free(p); return 0; } p = p->prox; } return 1; }>
  3. O exercício é o seguinte: Implemente um programa que receba por parâmetro uma sequência de números inteiros e imprima o maior sub-conjunto desses números que forme um progressão aritmética. Exemplos ./longestAP 22 15 23 82 29 66 resultado: 15 22 29 ./longestAP 78 80 18 3 67 31 84 57 85 1 78 73 63 51 83 resultado: 18 51 84 ./longestAP 50 5 77 56 53 55 22 79 67 75 18 60 78 74 27 75 77 20 42 25 12 38 2 27 58 resultado: 2 20 38 56 74 ./longestAP 38 82 7 9 77 75 97 11 12 47 48 73 71 15 30 96 91 80 68 28 16 73 28 37 85 69 60 40 78 19 6 8 27 27 17 57 30 42 67 47 79 69 54 39 80 23 22 1 74 72 resultado: 7 17 27 37 47 57 67 77
  4. @devair1010 Ok, vou tentar aqui. Muito obrigado ^^
  5. Desenvolva um programa capaz de decompor um número inteiro N > 1 em números primos. A saída do seu programa deverá conter a lista de todos os primos componentes de N, seguidos por sua multiplicidade (quantidade de vezes que esse número aparece no produto). Cada par deve estar na mesma linha, separado por um espaço. Já os pares estarão separados por uma quebra de linha, como mostra o exemplo abaixo: Exemplo: Entrada: 50 Saída: 2 1 5 2 adicionado 0 minutos depois Preciso de ajuda urgente, é pra hoje.
  6. Ah, entendi. Nas próximos dúvidas vou usar isso, e muito obrigado por ajudar @devair1010 ^^
  7. Sou iniciante ainda, e o meu código só inverte até metade dos vetores e dai acaba voltando pra forma normal, alguem pode me dizer o que ta errado? #include <stdio.h> #include <stdlib.h> #include <math.h> #define MAX 20 int main() { int vet[MAX], i, j, aux; for (i = 0; i < MAX; i++){ scanf ("%d", &vet); } for (i = 0; i < MAX; i++) { j= MAX - i - 1; aux = vet[MAX]; vet = vet[j]; vet[j] = aux; printf("%i ", vet); } return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...