/* * SOLUCAO 1 */ #include <stdio.h> #define MAX 100 int main() { int n, /* numero de elementos da sequencia */ i, j, comp, /* comprimento corrente do vetor seq */ conta, vezes; float seq[MAX]; printf("\nDigite o numero de elementos da sequencia: "); scanf("%d", &n); printf("Digite uma sequencia de %d numeros reais: ", n); for (i = 0; i < n; i++) scanf("%f", &seq[i]); for (i = 0; i < n; i++) { /* conta o numero de vezes que seq[i] aparece no vetor a partir da posição i */ vezes = 1; j = i + 1; while (j < n) if (seq[j] != seq[i]) j++; else { vezes++; /* quando repete, remove */ n--; seq[j] = seq[n]; } printf("%f ocorre %d vezes\n", seq[i], vezes); } return 0; } /* * SOLUCAO 2 */ #include <stdio.h> #define MAX 100 int main() { int n, /* comprimento da sequencia de entrada */ i, j, conta[MAX], /* contador de repeticoes de cada numero da sequencia */ comp = 0; /* comprimento do vetor conta */ float seq[MAX]; /* sequencia de entrada sem repeticoes */ printf("\nDigite o comprimento da sequencia: "); scanf("%d", &n); printf("Digite uma sequencia de %d numeros reais: ", n); for (i = 0; i < n; i++) { scanf("%f", &seq[comp]); /* procura esse numero no vetor seq a partir do inicio */ for (j = 0; seq[j] != seq[comp]; j++); /* comando vazio! */ if (j == comp) { /* se o numero nunca tinha aparecido */ conta[comp] = 1; comp++; } else conta[j]++; } /* imprime o resultado */ for (j = 0; j < comp; j++) printf("O numero %f aparece %d vezes na sequencia.\n", seq[j], conta[j]); return 0; }