Ir para conteúdo
Fórum Script Brasil
  • 0

Programa Vetor


Pedro Dinis

Pergunta

O meu programa compila mas sai tudo errado.. ajudem..

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

main()
{	
	int vet[100],p,i;
	srand(time(NULL));
	
	for(i=0;i<10;i++){
		vet[i]=rand()%101;
	}

	
	int op;
	int max,min;
	float media = 0;
	int soma;
	
	
menu:
	printf("1- Maximo numero\n");
	printf("2- Minimo numero\n");
	printf("3- Soma\n");
	printf("4- Media\n");
	printf("5- Numeros acima da media\n");
	printf("6- Pares\n");
	printf("7- Impares\n");
	printf("8- Sair\n");
	scanf("%d",&op);
	
	switch(op){
		
case 1:
max=vet[0];
int i;
for(i=1;vet[i];i++){
 if (vet[i] > max)
 	max = vet[i];
}
printf("O Numero maximo do vetor e: %d \n",max);
goto menu;
		
case 2:	
min=vet[0];
int c;
for(c=1;c<100;c++){
 if (vet[i] < max)
 	min = vet[i];
}
printf("O Numero minimo do vetor e: %d \n",min);
goto menu;


case 3:
for (i=0;i<100;i++) {
soma = soma + vet[i];
printf("A soma dos numeros e: %d \n",soma);
}
goto menu;


case 4:
media = soma/100;
printf("A media e: %d \n",media);
goto menu;

	
case 5:
{
	if (vet[i] > media){
		printf("Estao %d numeros acima da media \n");
		goto menu;
	}	
	
case 6:
if(vet[i]%2==0)
{
	printf("Numeros Pares: %d \n",vet[i]);
	goto menu;
}

case 7:
if(vet[i]%2 != 0)
{
	printf("Numeros Impares: %d \n",vet[i]);
	goto menu;
}

case 8:break;
default:
		printf("Valor introduzido não esta na lista\n");
		goto menu;

}
}
}

 

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{	
	int vet[100],p,i;
	srand(time(NULL));
	
	for(i=0;i<100;i++){ // aki tem q ser de 0 a 100
		vet[i]=rand()%101;
	}

	
	int op;
	int max,min;
	float media = 0;
	int soma = 0;
	
	
menu:
	printf("1- Maximo numero\n");
	printf("2- Minimo numero\n");
	printf("3- Soma\n");
	printf("4- Media\n");
	printf("5- Numeros acima da media\n");
	printf("6- Pares\n");
	printf("7- Impares\n");
	printf("8- Sair\n");
	scanf("%d",&op);
	
	switch(op){
		
case 1:
max=vet[0];
int i;
for(i=1; i < 100;i++) // não intendi porque você colocou vet[i]
{
 if (vet[i] > max)
 	max = vet[i];
}
printf("O Numero maximo do vetor e: %d \n",max);
goto menu; // não USE GOTO
		
case 2:	
min=vet[0];
int c;//não é nescessario criar variaveis diferentes, podia ter reusado o 'i'
for(c=1;c<100;c++)
{
 if (vet[c] < max)//como você copiou da de cima e la é o 'i', aki ia da errado
 	min = vet[c];
}
printf("O Numero minimo do vetor e: %d \n",min);
goto menu;// não USE GOTO


case 3:
for (i=0;i<100;i++) {
soma = soma + vet[i]; // soma não é iniciada, então ela comeca com lixo de memoria
printf("A soma dos numeros e: %d \n",soma);
}
soma = 0;//Reiniciar a soma quando acabar
goto menu; // não USE GOTO


case 4:
	for (i=0;i<100;i++)//inclui uma somatoria
		soma += vet[i];

media = soma/100.0;//sua media só funciona se você usar depois da SOMA, elas devem ser independentes
//a divisao de um int(soma) com outro int (100), resulta em um int e você perde o decimal, transforme um deles em float
printf("A media e: %.2f \n",media);// media é um float, e você ta printando com %d
soma = 0;
goto menu;// não USE GOTO

	
case 5:
{
	//essa parte você nem tentou...
	
	for (i=0;i<100;i++)
		soma += vet[i];
	media = soma/100.0;
	
	for(i = 0, c = 0; i < 100; i++)
		if (vet[i] > (int)media)
			c++;
			
	printf("Estao %d numeros acima da media \n", c);
	soma = 0;
	media = 0;
	goto menu; // não USE GOTO
	
	
case 6:
//essa parte você também não tentou

printf("Numeros Pares: \n");
for(i = 0; i < 100; i++)
	if(vet[i]%2==0)
		printf("%d \n",vet[i]);
	
goto menu;// não USE GOTO

case 7:
//essa também não

printf("Numeros Impares: \n");
for(i = 0; i < 100; i++)
	if(vet[i]%2==1)
		printf("%d \n",vet[i]);

goto menu;// não USE GOTO

case 8:break;
default:
		printf("Valor introduzido não esta na lista\n");
		goto menu;// não USE GOTO

}
}
}

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 6/7/2017 at 13:16, Nefisto disse:

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

int main()
{	
	int vet[100],p,i;
	srand(time(NULL));
	
	for(i=0;i<100;i++){ // aki tem q ser de 0 a 100
		vet[i]=rand()%101;
	}

	
	int op;
	int max,min;
	float media = 0;
	int soma = 0;
	
	
menu:
	printf("1- Maximo numero\n");
	printf("2- Minimo numero\n");
	printf("3- Soma\n");
	printf("4- Media\n");
	printf("5- Numeros acima da media\n");
	printf("6- Pares\n");
	printf("7- Impares\n");
	printf("8- Sair\n");
	scanf("%d",&op);
	
	switch(op){
		
case 1:
max=vet[0];
int i;
for(i=1; i < 100;i++) // não intendi porque você colocou vet[i]
{
 if (vet[i] > max)
 	max = vet[i];
}
printf("O Numero maximo do vetor e: %d \n",max);
goto menu; // não USE GOTO
		
case 2:	
min=vet[0];
int c;//não é nescessario criar variaveis diferentes, podia ter reusado o 'i'
for(c=1;c<100;c++)
{
 if (vet[c] < max)//como você copiou da de cima e la é o 'i', aki ia da errado
 	min = vet[c];
}
printf("O Numero minimo do vetor e: %d \n",min);
goto menu;// não USE GOTO


case 3:
for (i=0;i<100;i++) {
soma = soma + vet[i]; // soma não é iniciada, então ela comeca com lixo de memoria
printf("A soma dos numeros e: %d \n",soma);
}
soma = 0;//Reiniciar a soma quando acabar
goto menu; // não USE GOTO


case 4:
	for (i=0;i<100;i++)//inclui uma somatoria
		soma += vet[i];

media = soma/100.0;//sua media só funciona se você usar depois da SOMA, elas devem ser independentes
//a divisao de um int(soma) com outro int (100), resulta em um int e você perde o decimal, transforme um deles em float
printf("A media e: %.2f \n",media);// media é um float, e você ta printando com %d
soma = 0;
goto menu;// não USE GOTO

	
case 5:
{
	//essa parte você nem tentou...
	
	for (i=0;i<100;i++)
		soma += vet[i];
	media = soma/100.0;
	
	for(i = 0, c = 0; i < 100; i++)
		if (vet[i] > (int)media)
			c++;
			
	printf("Estao %d numeros acima da media \n", c);
	soma = 0;
	media = 0;
	goto menu; // não USE GOTO
	
	
case 6:
//essa parte você também não tentou

printf("Numeros Pares: \n");
for(i = 0; i < 100; i++)
	if(vet[i]%2==0)
		printf("%d \n",vet[i]);
	
goto menu;// não USE GOTO

case 7:
//essa também não

printf("Numeros Impares: \n");
for(i = 0; i < 100; i++)
	if(vet[i]%2==1)
		printf("%d \n",vet[i]);

goto menu;// não USE GOTO

case 8:break;
default:
		printf("Valor introduzido não esta na lista\n");
		goto menu;// não USE GOTO

}
}
}

 

Em quais casos encontra erro? Todos?

Link para o comentário
Compartilhar em outros sites

  • 0
Em 7 de junho de 2017 at 17:16, Nefisto disse:

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

int main()
{	
	int vet[100],p,i;
	srand(time(NULL));
	
	for(i=0;i<100;i++){ // aki tem q ser de 0 a 100
		vet[i]=rand()%101;
	}

	
	int op;
	int max,min;
	float media = 0;
	int soma = 0;
	
	
menu:
	printf("1- Maximo numero\n");
	printf("2- Minimo numero\n");
	printf("3- Soma\n");
	printf("4- Media\n");
	printf("5- Numeros acima da media\n");
	printf("6- Pares\n");
	printf("7- Impares\n");
	printf("8- Sair\n");
	scanf("%d",&op);
	
	switch(op){
		
case 1:
max=vet[0];
int i;
for(i=1; i < 100;i++) // não intendi porque você colocou vet[i]
{
 if (vet[i] > max)
 	max = vet[i];
}
printf("O Numero maximo do vetor e: %d \n",max);
goto menu; // não USE GOTO
		
case 2:	
min=vet[0];
int c;//não é nescessario criar variaveis diferentes, podia ter reusado o 'i'
for(c=1;c<100;c++)
{
 if (vet[c] < max)//como você copiou da de cima e la é o 'i', aki ia da errado
 	min = vet[c];
}
printf("O Numero minimo do vetor e: %d \n",min);
goto menu;// não USE GOTO


case 3:
for (i=0;i<100;i++) {
soma = soma + vet[i]; // soma não é iniciada, então ela comeca com lixo de memoria
printf("A soma dos numeros e: %d \n",soma);
}
soma = 0;//Reiniciar a soma quando acabar
goto menu; // não USE GOTO


case 4:
	for (i=0;i<100;i++)//inclui uma somatoria
		soma += vet[i];

media = soma/100.0;//sua media só funciona se você usar depois da SOMA, elas devem ser independentes
//a divisao de um int(soma) com outro int (100), resulta em um int e você perde o decimal, transforme um deles em float
printf("A media e: %.2f \n",media);// media é um float, e você ta printando com %d
soma = 0;
goto menu;// não USE GOTO

	
case 5:
{
	//essa parte você nem tentou...
	
	for (i=0;i<100;i++)
		soma += vet[i];
	media = soma/100.0;
	
	for(i = 0, c = 0; i < 100; i++)
		if (vet[i] > (int)media)
			c++;
			
	printf("Estao %d numeros acima da media \n", c);
	soma = 0;
	media = 0;
	goto menu; // não USE GOTO
	
	
case 6:
//essa parte você também não tentou

printf("Numeros Pares: \n");
for(i = 0; i < 100; i++)
	if(vet[i]%2==0)
		printf("%d \n",vet[i]);
	
goto menu;// não USE GOTO

case 7:
//essa também não

printf("Numeros Impares: \n");
for(i = 0; i < 100; i++)
	if(vet[i]%2==1)
		printf("%d \n",vet[i]);

goto menu;// não USE GOTO

case 8:break;
default:
		printf("Valor introduzido não esta na lista\n");
		goto menu;// não USE GOTO

}
}
}

 

porque q não posso usar goto???

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...