Ir para conteúdo

POWERED BY:

Arquivado

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

Gustavo Rodrigues Torre

[Resolvido]  com programa

Recommended Posts

Alguem me ajuda a fazer este programa aqui:

 

 

Elabore um programa que receba dois números inteiros positivos. Calcule e mostre:

a. Caso os números formem um intervalo crescente, a media dos números do intervalo, incluindo os números digitados;

b. Caso os números formem um intervalo decrescente, a quantidade de números pares, incluindo os números digitados;

c. Se os números forem iguais, mostrar uma mensagem correspondente a situação.

 

Eu fiz deste jeito mais ta todo errado

 

#include <stdio.h>
#include <stdlib.h>

main ()
{
int n1, n2;
int aux, i;
float mac, mad;
int acm, acmp;
int c, cp;

printf("\n\nEntre com os numeros: ");
scanf("%d%d",&n1,&n2);

aux = n2 - n1;

	if (aux>0) 
	printf("%d %d\n",n1,n2);
		for(i=n1;i<=n2;i++) {
		 c = c + 1;
		 acm = acm + 1;
		 }
		 mac = acm/c;

				if (aux<0) 
				printf("%d %d\n",n2,n1);
				 for(i=n2;i<=n1;i++) {
						if (n1 / n2 == 0)
						  acmp = acmp + 1;
						  cp = cp + 1;
						   mad = acm/cp; 
						   }
				  
printf("\nOs numeros crescente %5f\n\n",mac);
printf("\n\nOs numeros %5f\n\n",mad);

system("pause");
return 0;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom minha idéia é a seguinte:

if(n1 > n2) { //ordem decrescente
//calcula a qnt de n's pares
}
else if(n1 < n2){ //ordem crescente
//calcula a media dos numeros
}
else {
//mostra a mensagem
}

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais quitZAUMMM

Ñão e para o programa informar o intervalo entre os numeros digitados?

 

Por exemplo eu entro com os numeros 9 e 16

E o programa me retorna todos os pares entre 9 e 16

 

E issso q o programa tem q fazer?

 

 

 

bom minha idéia é a seguinte:

if(n1 > n2) { //ordem decrescente
//calcula a qnt de n's pares
}
else if(n1 < n2){ //ordem crescente
//calcula a media dos numeros
}
else {
//mostra a mensagem
}

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais atenção aí nas chaves:

 

if (aux>0)
printf("%d %d\n",n1,n2);
	for(i=n1;i<=n2;i++) {
	 c = c + 1;
	 acm = acm + 1;
	 }
	 mac = acm/c;

 

O programa pode não executar o for, mas acm,c e mac vão ter valores e vao ser impressos no final das contas,mesmo que o intervalo seja decrescente.

 

E outro detalhe que TODO mundo quase sempre esquece: C não é Java pra detectar que você não inicializou as variáveis:

 

int n1, n2;
int aux, i;
float mac, mad;
int acm, acmp;
int c, cp
....

for(i=n1;i<=n2;i++) {
	 c = c + 1;
	 acm = acm + 1;
	 }
	 mac = acm/c;

....
for(i=n2;i<=n1;i++) {
					if (n1 / n2 == 0)
					  acmp = acmp + 1;
					  cp = cp + 1;
					   mad = acm/cp;
					   }

 

 

 

Fica um treco assim:

 

#include <stdio.h>

main () {
int n1, n2;
int soma=0,pares=0;
int i;

printf("\n\nEntre com os numeros: ");
scanf("%d %d",&n1,&n2);

if (n1 < n2) {
  for(i=n1;i<=n2;i++)
  soma+=i;
  printf("Média do intervalo:%3.2f\n",soma*1.0/(n2-n1+1));
} else if (n1 > n2) {
  for(i=n1;i>=n2;i--)
  if (!(i%2) && i)
	 pares++;
  printf("Números pares no intervalo: %d\n",pares);
} else 
  puts("Números iguais");
}

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.