Ir para conteúdo

Arquivado

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

Pulse

Interpretração código

Recommended Posts

(MAT 88) Dada uma seqüência de n números reais, determinar os números que compõem a seqüência e o número de vezes que cada um deles ocorre na mesma.
Exemplo: n = 8
Seqüência: -1.7, 3.0, 0.0, 1.5, 0.0, -1.7, 2.3, -1,7
Saída: -1.7 ocorre 3 vezes
3.0 ocorre 1 vez
0.0 ocorre 2 vezes
1.5 ocorre 1 vez
2.3 ocorre 1 vez
Segue uma resolução, já fiz teste de mesa com ela, já olhei o código várias vezes mas não consegui entender o que acontece. Alguém poderia me explicar?
#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;
}



 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

mas não consegui entender o que acontece

E o que exatamente acontece? O que você quer com esse tópico?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.