Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RGRQRS

[Resolvido]  na estrurur

Recommended Posts

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

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

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

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

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

¬¬....

 

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

uma dúvida medíocre, o que seria aquele %i ?? C++ ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 :D

tentei com unsigned mas não deu

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.