#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int verificaIguais(int *histograma, int K)
{
int i = 0;
for(i = 1; i < K; i++)
if(histograma[0] != histograma[i])
return 0;
return 1;
}
int* criaHistograma(int *v, int tam, int K)
{
int i = 1, j =0,cont =0;
int *r = malloc(K*sizeof(int));
for(; i < K+1; i++){
r[i] = contaRepeticao(v, K, i);
printf ("valores casa do vetor v[%d] = %d\n",i, r[i]);
}
return r;
}
int contaRepeticao( int *v, int tam, int val)
{
int i=0, cont = 0;
for(; i < tam; i++)
{
if (v[i] == val)
cont++;
}
return cont;
}
int main()
{
int K, N,i=1 ,v[i], p=0;
printf ("numeros\n");
scanf ("%d %d", &K, &N);
if((K>=3 && K<=1000) && (N>=1 && N<= 10000))
{
for (i=1; i< N+1; i++){
scanf ("%d", &v[i]);
criaHistograma(&v[i], N,K);
printf ("\n");
}
}
else
printf ("erro");
return 0;
}
Esse código n está completo e é referente ao EX: https://www.urionlinejudge.com.br/judge/pt/problems/view/2697a
A saída deste código para a entrada 3 5
1 3 2 3 1
é
v[1] =1
v[2]=0
v[3]=0
v[1] =0
v[2]=0
v[3]=1
v[1] =0
v[2]=1
v[3]=0
v[1] =0
v[2]=0
v[3]=1
v[1] =1
v[2]=0
v[3]=0
é preciso obter a saida
v[1] =2
v[2]=1
v[3]=2
e como resultado mostrar "+2" pois é na casa 2 que está faltando um numero 2, completando assim 2 2 2.
não sei como fazer, alguém poderia me ajudar fornecendo uma correção, resolução para análise ou alguma dica ?