Resumo da questão: Construa um programa que dados n e uma sequência de n numeros inteiros, determina qual a maior sequência consecutiva.
Olá, sou novo e tenho um código que, dados a quantidade de números de uma sequência e os seus números, determina quais foram os números repetidos em sequência e quantas vezes cada um deles foi repetido em sequência.
Eu gostaria de obter ajuda para que esse programa pudesse dizer quantas vezes o número mais repetido se repetiu. É um problema simples com estruturas IF mas eu estou "me batendo" para resolver.
O que eu desejo:
Exemplo de entrada:
6
10 10 20 20 20 10
Exemplo de saída:
3
Explicação: o maior número de repetições consecutivas foi 3 (pois 20 se repetiu 3 vezes seguidas);
Como o meu programa está:
Exemplo de entrada:
6
10 10 20 20 20 10
Exemplo de saída:
10 se repetiu 2 vezes
20 se repetiu 3 vezes
Gostaria de obter ajuda o mais rápido possível.
Código:
#include<stdio.h>
int main() {
int vetor[15],tam,i,k,aux;
int temp;
int repetidos = 1;
printf("Digite o tamanha do vetor: ");
scanf("%d",&tam);
printf("Digite os valores do vetor: ");
for (i=0;i<tam;i++) {
scanf("%d",&vetor[i]);
}
//Verificando numeros repetidos
temp = vetor[0]; // Primeiro valor não entra na varredura
for (i=1;i<tam;i++) {
if( vetor[i] == temp ){
repetidos++; // Enquanto tiverem valores iguais em sequencia, incrementa este contador
}
else {
// Se deu valor diferente do anterior, verifica se teve repetições
if( repetidos > 1 ) {
printf("O valor %i esta repetido %i vezes\n", temp, repetidos);
repetidos = 1;
}
// E atualiza este valor de comparação
temp = vetor[i];
}
}
// Fim do loop, mas ainda não testamos se o último valor do vetor é repetido ou não, então...
if( repetidos > 1 ) {
printf("O valor %i esta repetido %i vezes\n", temp, repetidos);
}
getchar();
getchar();
return(1);
}
Question
.VctroP~
Obrigado!
Edited by .VctroP~Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.