Ir ao conteúdo
  • Cadastre-se

Gabriel_Moro

Membro Pleno
  • Posts

    102
  • Cadastrado em

  • Última visita

Tudo que Gabriel_Moro postou

  1. então para se fazer a estrutura deste programa utilize dois for o primeiro que vá de 1 ate o numero lido antes do segundo for zere o contador de divisões o segundo que vá de 1 até o índice do primeiro for nesse segundo for soma-se as divisões exatas quando sair do segundo for compare se as divisões foram duas se sim mostra
  2. testa valor lido se for uma raiz valida (inteira) é o valor a ser mostrado se não decrementa valor lido e segue testando ate valor ser 0 ou encontrar uma raiz valida
  3. i=10 soma+=v[ i ]; //soma os valores e depois printf soma/10
  4. um numero primo é um numero que é divisível por 1 e por ele mesmo então se eu tenho n=10 começo a testar a partir do 2 2%1==0 sim divisor++; um primo só será divisível por 2 números 2%2==0 s div++ div==2 && 2==2 então printf 2+1=3 div=0; incrementa para o próximo valor, zera o divisor e segue testando os valores ate N algo assim...
  5. if(op1==3) isso estava op1=3 e muda a variavel op2 do submeno por op3 por que tu não aplica funções no teu código ia ficar mais organizado?
  6. acho que tu esqueceu do printf("Soma: %d", soma);
  7. soma=0; for(i=0;i<tamanho;i++) // percorre o vetor somando os termos soma+=vector
  8. faltou o índice not[ i ].cod outro índice clien[ i ].cod_cliente outro índice prod[ i ]...... no teu código faltou os índices, não citei todos porque eram muitos
  9. seguindo a logica matriz1d[ ] m*, matiriz2d[ ] [ ] m**, matriz3d[ ] [ ] [ ], m***.... o que tu quer fazer é ler uma dimensão n, que significa o numero de apontadores, não sei se é possível fazer um gerador para n ponteiros, porque criar um ponteiro é declarar uma variável
  10. http://mtm.ufsc.br/~azeredo/cursoC/aulas/ca70.html //as vezes pesquisar é bom
  11. int vetTudo[1000], i, j; for(i = 0; i <= 149; i++){ vetTudo[i] = rand()%149;} int numeros[150] //segundo o intervalo só podem existir 150 numeros diferentes int contadorNumeros[150] //conta numeros inseridos no vetor numeros int q=0; //quntidade de valores exstentes no vetor numeros for(i=0;i<150;i++) contadorNumeros[i]=0; //para evitar erros, como em qualquer contador, sempre zere ele int achou=0; //variavel logica for(i=0;i<1000;i++){ if(q==0){ numeros[q]=vetTudo[i]; contadorNumeros[q]++; q++; }else{ achou=0; j=0; while(j<q && achou==0){ if(numeros[j]==vetTudo[i]){ achou=1; contadorNumeros[j]++; }else j++; } if(achou==0){ numeros[q]=vetTudo[i]; contadorNumeros[q]++; q++; } } } algo assim...
  12. então utiliza 2 vetores para a verificação, verif1[ 10 ] e verif2[ 10 ] com o mesmo conceito da matriz
  13. struct nodoArv * pesq_arv_rec( struct nodoArv * raiz, int d ){ struct nodoArv * res = NULL; if( raiz != NULL ){ if(raiz->info == d){ res = raiz; } else{ if(d < raiz->info){ res = pesq_arv_rec( raiz->esq, d ); } else{ res = pesq_arv_rec( raiz->dir, d ); } } } return res; } struct nodoArv * pesquisaRec( int d ){ struct nodoArv * res = pesq_arv_rec( raiz, d ); return res; } tu não esta passando pelos termos da esquerda e da direita corretamente, um exemplo de uma pesquisa ...
  14. guarde a informação do dia e dos pares vendidos em uma matriz v[ 2 ] [ 30 ] linha[ 0 ] dia linha [ 1 ] pares
  15. int vet1[150], vet2[1000], i,j; for(i = 0; i <= 149; i++){ vet1[i] = i;} for (i = 0; i <= 999; i++){ vet2[i] = rand()%149;} //faltou indices //para verifivar os termos acho q uma matriz ficaria bem [2][150] sendo q na linha[0] é quanrdado os valres verificados(nunca se repitindo), e na linha[1] é quardado o numero de vezes q o numero corespondente na coluna da linha[0] //exemplo //int v[10]={2,1,3,2,4,2,5,2,3,2}; //int m[2][10]={{2,1,3,4,5}, // {5,1,2,1,1}}; //para utilizar uma matriz para isso é necessario usar contador para termos inseridos
  16. Gabriel_Moro

    Aluno

    void exclui(struct aluno _al){ // Exclui um aluno int achou = 0; int i = 0; while((achou==0) && (i<qtde)){ //procura o aluno através do nome if(strcmp(_al.nome, turma[i].nome) == 0){ achou = 1; } else{ i++; } } if(achou==1){ //achou o aluno na lista for(int j=i;j<qtde-1;j++){ //exclui copiando o próximo para o lugar da exclusão turma[j] = turma[j+1]; } qtde--; //diminui a quantidade de alunos na lista } } um exemplo de exclusão, ali em cima faltou um >>>if(achou==0) printf("Aluno inexistente!"); observação: teu código esta meio desorganizado, tente implementa-lo com funções, vai ficar tudo mais fácil
  17. utilize strcmp if(strcmp(pessoas[ i ].nome,pessoas[ i+1 ])==1){ aux=pessoas[ i ]; pessoas[ i ]= pessoas[ i+1 ]; pessoas[ i+1 ]=aux }
  18. Gabriel_Moro

    Aluno

    para excluir um aluno de um vetor de struct pense nela como se fosse simplesmente um vetor por exemplo: tam=10; v[tam]; //um vetor de inteiros que tem tamanho 10 com {1,2,3,4,5} somente 5 valores inseridos q=5 então supondo q eu queira tirar o 3... j=posição do valor a ser tirado for(i=j;i<q-1;i++){//percorre o vetor a partir do termo que eu quero tirar puxando os do frente pra traz v[ i ]=v[ i+1 ]; } q--;//porque exclui um valor
  19. já trabalhou com listas implementadas em vetores?
  20. erros que eu vi, na função menu o compilador não reconhece "opÇÕes" como uma variável valida por causa do 'ç' e '~' e também tu esqueceu o '&' na leitura desta variável outro erro é na declaração dos vetores de struct, eles devem primeiramente ser declarados na função main e ser passado para outras funções através de parâmetros, como vetores outras observações, fflush só é necessário utilizar com a função scanf, não com a gets, e tu esta usando (int argc, char *argv[]) como parâmetro no main, a não ser que tu vá utilizar argumentos de linha de comando deixe o main() vazio
  21. some o numerador e o denominador individualmente num+=2; den+=1; isso dentro de um laço q faça até num==99 e den==50
  22. as funções q procuram e a função q recebe o retorno: SETOREL *achaSet(char st[30], SETOREL *inicio) { SETOREL *setEss = NULL; if (inicio->nHierar != NULL || inicio->mHierar != NULL) { if (strcmp(inicio->dadoS.setor,st) == 0) { setEss = inicio; } else { if (inicio->nHierar != NULL) { setEss = achaSet(st, inicio->nHierar); } else if(inicio->mHierar!=NULL) { setEss = achaSet(st, inicio->mHierar); } } } return setEss; } SETOREL *achaSetor(char st[30]) { SETOREL *setEss = achaSet(st, inicio); return setEss; } void addSetor(SETOR set) { SETOREL *setEl; setEl = (SETOREL *) malloc(sizeof(SETOREL)); setEl->dadoS = set; setEl->mHierar = NULL; setEl->nHierar = NULL; if (inicio == NULL) { inicio = setEl; } else { if (setEl->dadoS.hierarquia == 1) { SETOREL *setEl1 = inicio; while (setEl1->mHierar != NULL) { setEl1 = setEl1->mHierar; } setEl1->mHierar = setEl; } else { char st[30]; printf("Digite em qual setor o %s sera vinculado: ", setEl->dadoS.setor); scanf("%[^\n]s", st); fflush(stdin); SETOREL *setEss; setEss = achaSetor(st); if (setEss != NULL) { if (setEss->nHierar == NULL) { setEss->nHierar = setEl; } else { setEss = setEss->nHierar; while (setEss->mHierar != NULL) { setEss = setEss->mHierar; } setEss->mHierar = setEl; } } else { printf("O setor %s não foi encontrado.\n", st); } } } } o programa completo ta no txt um exemplo de falha na recurção ta na imagem alguem saberia porque a recurção n encontra o termo procurado q existe na lista?multlist.txtmultlist.txt

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!