Jump to content

lucas _vinicius

Members
  • Content count

    10
  • Joined

  • Last visited

Community Reputation

1 Comum

About lucas _vinicius

  • Birthday 06/11/1999

Informações Pessoais

  • Sexo
    Masculino
  1. lucas _vinicius

    exercício de laços

    Bem _Isis_ observei atentamente os pontos que você destacou e corrigi meu programa: #include <stdio.h> int main () { long int x,z,s1,s2,t1=0; puts ("\tNumeros amigaveis\n\n"); for (x=1;x<=100000;x++) { s1=s2=0; for (z=1;z<x;z++) if (x%z==0) s1+=z; for (z=1;z<s1;z++) if (s1%z==0) s2+=z; if (((x==s2)&&(x!=s1))&&((x!=t1)&&((s1-x)>0))) { printf ("\t%d \t| \t%d\n",x,s1) t1=s1; } } puts ("."); getchar(); return 0; } Eu não utilizei Funções por que o exercício era para treinar o raciocínio logico com laços,eu acho que está bom mas se tiver mais algum ponto a destacar pode falar... Você ajudou bastante!
  2. lucas _vinicius

    Comparação de 2 vetores

    Bem vamos lá.já que não conseguiu resolver os erros vou mostra-los detalhadamente: #include <stdio.h> // Só há necessidade de usar esta biblioteca pois a <conio.h> esta fora de uso; E a função system("pause") só funciona com a biblioteca <stdlib.h>.mas não vejo necessidade de usa-la// int main() { int vetA[5], vetB[8], vetC[8], i, j, total = 0; //Bem como te disse antes não tinha necessidade de usar a variável 'r';// printf("--- VETOR A ---\n\n"); printf("Informe 5 numeros: \n"); for(i = 0; i < 5; i++) //Laço para salvar os elementos no vetor A// { scanf("%d", &vetA[i]); } printf("--- VETOR B ---\n\n"); printf("Informe 8 numeros: \n"); for(i = 0; i < 8; i++) //Laço para salvar o elementos no vetor B// { scanf("%d", &vetB[i]); } for(i = 0; i < 8; i++) //Salva os elementos repetidos do vetor A no B e os salva no vetor C// { for(j = 0; j < 5; j++) { if(vetA[i] == vetB[j]) { vetC[i] = vetB[j]; total++; } } } if(total == 0) { printf("Nao ha valores iguais"); } else { total--; //decrementa 1 de 'total' pois ele faz 6 incrementos(0 á 5),mas o vetor C possui apenas 5 elementos (0 á 4)// printf("\n\nValores iguais: \n"); for(i = 0; i < total; i++) //laço para a repetição// { printf("\n%d", vetC[i]); } } getchar(); //Função para visualizar o resultado do programa fora do compilador// return 0; } Observe bem onde você errou!
  3. lucas _vinicius

    Comparação de 2 vetores

    Olá.bem para começar vamos observar alguns pontos: 1 - Para que ta servindo a variável inteira 'r=0'? 2 - Todo vetor começa sua contagem do '0' então se você o define assim 'vetA [5]' o for deve ser usado assim: for (i=0;i<5;i++) por que ele começa a contar do '0' ;('0' até '4' são 5 espaços alocados,isto é,você não usa o ultimo vetor por que nele fica um caractere nulo) 3 - Para que você usa o system("pause");?se for para ver a mensagem "pressione qualquer tecla para continuar..." beleza agora se for para ver o resultado do program fora do compilador recomendo que use a função "getchar();" da biblioteca <stdio.h>;a proposito a biblioteca do system(); e a <stdlib.h>,e a biblioteca <conio.h> já esta saindo de uso por isso recomendo que não a use... 4 - Quando for exibir o resultado utilizando a variável 'total' decremente 1 antes do for; Rodei seu program numa boa aqui apenas observando esses erros... Se não resolver sozinho posto os erros detalhados do programa,não posto logo por que você como programador tem que aprender a encontrar erros sozinho de preferencia...
  4. lucas _vinicius

    exercício de laços

    Olá pessoal,estou com um probleminha nesse exercício aqui: "Fazer um programa para encontrar todos os pares de números amigáveis entre 1 e 100000. Um par de números é amigável[/size] quando cada um deles é igual à soma dos divisores do outro."[/size] Bem eu como nuca tinha me deparado com uma atividade dessas fiz assim:[/size] #include <stdio.h> int main () { long int x,z,y,y1; x=y=y1=0; for (y=0,x=0;x<=100000;x++) { for (z=0;z<x;z++) if (x%z==0) y+=z; for (z=0;z<y;z++) if (y%z==0) y1+=z; if (y==y1) printf ("(%d %d) ",x,y); } return 0; } Obviamente o pc não consegue fazer a leitura de três laços for de 100000 um em seguida do outro ai da um treco(que eu axo que seria a falta de memoria talvez,ou o super uso dela forçando um subscrevimento na memoria << são apenas suposições),mas o fato é que não consigo pesar em um outro método para fazer esse exercício;Poderiam me ajudar?me dando pelo menos o raciocínio logico para faze-lo...
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.