RGRQRS 0 Denunciar post Postado Abril 19, 2008 Boa noite!!! Este exercicio faz parte de um trabalho, segui o exemplo com um unico numero usando operador lógico e deu certo vejam: Obs: Não posso usar outra lógica. #include <stdio.h> #include <stdlib.h> main() { int n,n1,n2; printf("\n\nDigite o primeiro numero positivo: "); scanf("%i",&n); n1=n-2*(n/2); n2=n-3*(n/3); if(n1==0 && n2==0) printf("\nDivisiveis por 2 e 3 = %i",n); else printf("\nNao divisiveis nem por 2 e 3"); printf("\n\n"); system("pause"); } Porém quando tento ler 4 numeros, apesar e compilar não exibi o resultado desejado vejam a seguir: #include <stdio.h> #include <stdlib.h> main() { int n1,n2,n3,n4,d1,d2,d3,d4,t1,t2,t3,t4; printf("\n\nDigite o primeiro numero positivo: "); scanf("%i",&n1); printf("\n\nDigite o segundo numero positivo: "); scanf("%i",&n1); printf("\n\nDigite o terceiro numero positivo: "); scanf("%i",&n1); printf("\n\nDigite o quarto numero positivo: "); scanf("%i",&n1); d1=n1-2*(n1/2); d2=n1-2*(n1/2); d3=n1-2*(n1/2); d4=n1-2*(n1/2); t1=n1-3*(n1/3); t2=n1-3*(n1/3); t3=n1-3*(n1/3); t4=n1-3*(n1/3); if(d1==0 && d2==0 && d3==0 && d4==0 && t1==0 && t2==0 && t3==0 && t4==0) { printf("\nDivisiveis por 2 e 3 = %i",n1); } else { printf("\nNao divisiveis nem por 2 e 3"); } printf("\n\n"); system("pause"); } Se alguém puder dar uma opnião fico grato...Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Diego Moco 0 Denunciar post Postado Abril 19, 2008 Você esta lendo tudo como n1, é isso mesmo que você quer?? acho que não hein! printf("\n\nDigite o primeiro numero positivo: "); scanf("%i",&n1); printf("\n\nDigite o segundo numero positivo: "); scanf("%i",&n1); printf("\n\nDigite o terceiro numero positivo: "); scanf("%i",&n1); printf("\n\nDigite o quarto numero positivo: "); scanf("%i",&n1); Compartilhar este post Link para o post Compartilhar em outros sites
RGRQRS 0 Denunciar post Postado Abril 19, 2008 Na realidade quero somente os divisiveis por 2 e 3, já tentei colocando n1,n2,n3,n4, já tentei d1,d2,d3,d4,t1,t2,t3,t4, talves eu tenha colocado equivocadamente tb...se tiver uma sugestão agradeço.. Compartilhar este post Link para o post Compartilhar em outros sites
Diego Moco 0 Denunciar post Postado Abril 19, 2008 Tu sabe mecher com vetor? fica mais fácil para os 4 dígitos... le os números e faz um if ((n1%2==0)&&(n1%3==0)) { printf("O numero é divisível por 2 e 3"); } esle printf("O numero não é divisível ou por 2 ou por 3"); e por aí vai, to com sono aí to com preguiça de fazer um código completo, qualquer coisa manha te ajudo... lembrando que % retorna o resto da divisão de dois numeros e se o resto for 0 é divisível... Compartilhar este post Link para o post Compartilhar em outros sites
Sσwyєяº 0 Denunciar post Postado Abril 19, 2008 aqui o programa brow... #include <stdio.h> #include <stdlib.h> main() { int v[4]; int t[4]; int n[4]; int i; float div; div=0; i=0; printf("\n\nDigite o primeiro numero positivo: "); scanf("%d",&n[0]); printf("\n\nDigite o segundo numero positivo: "); scanf("%d",&n[1]); printf("\n\nDigite o terceiro numero positivo: "); scanf("%d",&n[2]); printf("\n\nDigite o quarto numero positivo: "); scanf("%d",&n[3]); for (i=0;i<4;i++) { v[i]=n[i]-2*(n[i]/2); t[i]=n[i]-3*(n[i]/3); } if ((n[0]%2==0)&&(n[1]%3==0)&&(n[2]%2==0)&&(n[3]%2==0)&&(t[0]%3==0)&&(t[1]%3==0)&&(t[2]%3==0)&&(t[3]%3==0)) { printf("O numero e divisivel por 2 e 3"); } else printf("O numero nao e divisivel ou por 2 ou por 3"); printf("\n\n"); system("pause"); } ou assim o que é mais elegante : #include <stdio.h> #include <stdlib.h> main() { int v[4],t[4],n[4],i,k; i=0; k=0; printf("\n\n"); printf("Digite os quatro numeros positivo:\n\n"); for (k=0;k<4;k++) { scanf("%d",&n[k]); } for (i=0;i<4;i++) { v[i]=n[i]-2*(n[i]/2); t[i]=n[i]-3*(n[i]/3); } if ((n[0]%2==0)&&(n[1]%3==0)&&(n[2]%2==0)&&(n[3]%2==0)&&(t[0]%3==0)&&(t[1]%3==0)&&(t[2]%3==0)&&(t[3]%3==0)) { printf("O numero e divisivel por 2 e 3"); } else printf("O numero nao e divisivel ou por 2 ou por 3"); printf("\n\n"); system("pause"); }fiz as preças pq tem gente enchendo o meu saco aqui no msn e no trampo.. mas está funcionando perfeitamente... detale: ele testa se os numeros (todos) são divisiveis por 2 e 3. é assim que você quer? ou você quer q ele teste um por um e imprima os que são (casdo tenha) tipo n1=12 n2=10 n3=6 n4=15 ele imprimir n1 e n3 ? é assim ou desse jeito ai ta bom? Compartilhar este post Link para o post Compartilhar em outros sites
RGRQRS 0 Denunciar post Postado Abril 19, 2008 Boa noite!!! Compreendi as instruções,mas aproveitei p programa pronto de nosso colega...muito obrigado. walew Compartilhar este post Link para o post Compartilhar em outros sites
Sσwyєяº 0 Denunciar post Postado Abril 19, 2008 ¬¬.... de nada! .. ^^... mas você compreendeu o que o programa está fazendo ? pois eu usei vetores ... o grande mau de se pegar já feito é isso.. você não compreender como ele funciona.. dou a dica pra você fazer o chamado teste de mesa nele... ai você vai entender bem ! ^^ Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Abril 20, 2008 quero somente os divisiveis por 2 e 3 Cuidado aí... Se ele quer os números divisíveis por 2 e por 3, basta pegar os que são divisíveis por 6. Se forem os números divisíveis por 2 ou por 3, aí sim você tem um || no if. #include <stdio.h> int main(void) { int numeros[4],resto; int k=0; printf("Digite os quatro numeros positivos:\n\n"); for (k=0;k<4;k++) scanf("%d",&numeros[k]); for (k=0;k<4;k++) { resto = numeros[k]-6 * numeros[k]/6; if (resto == 0) { printf("O numero e divisivel por 2 e 3"); } else { printf("O numero nao e divisivel por 2 nem por 3"); } } } Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Abril 20, 2008 uma dúvida medíocre, o que seria aquele %i ?? C++ ?? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Abril 20, 2008 é a msm coisa q o %d Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Abril 20, 2008 hmm, nesse caso: printf("\n\nDigite o primeiro numero positivo: "); scanf("%i",&n);como eu faria pra colocar o numero do tipo decimal e necessáriamente positivo ?? isso é, se existe alguma forma de declarar assim :Dtentei com unsigned mas não deu Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Abril 20, 2008 você diz um ponto flutuante? %f ? Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Abril 20, 2008 não, tem uns exercicios que pedem "numero inteiro e positivo", soh que se você colocar %d, pode ser tanto positivo como negativo, certo ? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Abril 20, 2008 não, tem uns exercicios que pedem "numero inteiro e positivo", soh que se você colocar %d, pode ser tanto positivo como negativo, certo ? Na verdade você pode declarar uma variável unsigned int e ler com %u. Mas se você digitar -3 o numero vai ser interpretado como inteiro sem sinal e vai ser algo gigante.O jeito é ler como inteiro com sinal enquanto ele for < 1. Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Abril 21, 2008 ahhh saquei, dei uma lida mas não intendi como funciona esse %u (decimal sem sinal) "/ Compartilhar este post Link para o post Compartilhar em outros sites