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

Dado um vetor, imprimir maior, menor, mediana e moda


brunnorodrigues

Pergunta

Pessoal, meu desafio é esse: Dado um vetor, imprimir maior, menor, mediana e moda. Creio que isso estou conseguindo fazer corretamente (talvez algum errinho aqui outro ali), mas entendi a lógica de como resolver esses problemas. O que não estou conseguindo é fazer com que a inserção de elementos no vetor seja encerrada quando digito -1, que é o que o professor quer. Como podem observar, da forma como está, o primeiro valor que insiro, sinaliza o tamanho do vetor. E não é dessa forma que ele quer. Como então fazer como ele quer? Desde já obrigado, e abaixo, o código.

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

int main(){
	int *vetor,tamanho,i,j,menor,maior,mediana,contador1=0,contador2=-1,moda;
	
	scanf("%i",&tamanho);
	vetor=(int*)calloc(tamanho,sizeof(int));
	
	for(i=0;i<tamanho;i++)
		scanf("%i",&vetor[i]);

    maior=vetor[0]; 
    menor=vetor[0];

	for(i=0;i<tamanho;i++){
		if(vetor[i]<menor)
			menor=vetor[i];
		if(vetor[i]>maior)
			maior=vetor[i];
	}
	
	mediana=vetor[tamanho/2];
	
	for(i=0;i<tamanho-1;i++){
		for(j=i+1;j<tamanho;j++){
			if(vetor[i]==vetor[j])
				contador1++;
			if(contador1>contador2)
				moda=vetor[i];
			contador2=contador1;
			contador1=0;
		}
	}
	
	printf("%i %i %i %i",menor,maior,mediana,moda);

	return 0;
}

 

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

@brunnorodrigues, uma das formas de fazer isso é a seguinte:

int main(){
	
    int op; //E DEMAIS VARIÁVEIS
  
    do{
      
	//CÓDIGO A EXECUTAR
      
      	printf("Inserir novo registro? [0] SIM / [-1] NÃO");
      	scanf("%i", &op);
      
    }while(op != -1);
  
    return 0;
  
}

 

Editado por Lucas Ambrosi Derrossi
Correção no código.
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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...