Ir ao conteúdo

Moda do Vetor


Andryas

Posts recomendados

Postado

Encontre o Valor que aparece mais vezes num vetor. Se empatar, pegue o primeiro encontrado.

Qual o erro do meu codigo??


#include <stdlib.h>

int *cria_Vetor(void)
{
int *Vtr;
int tam,i,j;
int temp = -1;
int moda;
int cont = 0;

scanf("%d", &tam);
Vtr = (int *) calloc (tam,sizeof(int));

for(i=0;i<tam;i++)
scanf("%d", Vtr[i]);

for(i=0;i<tam-1;i++)
{
for(j=i+1;j<tam;j++)
if(Vtr[i] == Vtr[j])
cont++;

if(cont>temp)
moda = Vtr[i];
temp = cont;
cont = 0;
}
i=0;
while(i<tam){
printf("%d", Vtr[i]);
i++;
}
printf("Moda = %d", moda);
return (Vtr);
}

int *limpa_x(int* Vtrr)
{
printf("\nLimpando..");
if (!Vtrr)
return (NULL);
free (Vtrr);
return (NULL);
}

int main(void)
{
int *Vetor;
Vetor = cria_Vetor();
Vetor = limpa_x(Vetor);
return 0;
}
#include <stdio.h>

PS:0 errors,0 warnings

Tenho problemas em tempo de execução, qd estou fazendo a leitura do vetor dah um crash no prompt

Postado

Substitua a linha:


scanf("%d", Vtr[i]);

Por:


scanf("%d", &Vtr[i]);

A função scanf precisa passar como parâmetro o endereço de memória da variável que vai receber o valor entrado (nesse caso o endereço da posição i do vetor Vtr).

Espero ter ajudado.

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!