elgio
(usa OpenSuSE)
Enviado em 20/01/2009 - 11:39h
/* Nao me sinto culpado, ja que era para ser entregue em Dez... */
#include <stdio.h>
#define N 6 // cada jogo tem 6 numeros
#define S 50 // sao 50 jogos digitados
int main()
{
int num[100][2]; /* num pode ser de 00 a 99. Ao se digitar
um num, apenas incrementa o seu contador.
num em [0] contador em [1]
*/
int i,j, temp, t2;
/* Zerando vetor */
for (i=0; i<100; i++) {
num[i][0]=i;
num[i][1]=0;
}
/* usou-se uma matriz para poder ordenar inversamente pelo contador depois */
printf("Digite %d jogos\n", S);
for (i=0; i < S; i++){
printf("Digite os %d numeros do jogo %d:\n",N, i);
for (j=0; j<N; j++){
scanf("%i", &temp);
if ((temp<0)||(temp>99)){
printf("numero %d INVALIDO\n", temp);
j--;
continue;
}
num[temp][1]++;
}
}
/* Ordenando inversamente pelo contador (uma variacao do buble sort) */
for (i=1; i<100; i++){
for (j=i; j>0; j--){
if (num[j][1]>num[j-1][1]){
t2 = num[j][0];
temp = num[j][1];
num[j][0] = num[j-1][0];
num[j][1] = num[j-1][1];
num[j-1][0] = t2;
num[j-1][1] = temp;
}
}
}
for (i=0; i<6; i++){
printf("%d (%d vezes)\n", num[i][0], num[i][1]);
}
}