Ir para conteúdo
Fórum Script Brasil
  • 0

Melhoria no código (Dúvida)


.VctroP~

Pergunta

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);    
}

Obrigado!

Editado por .VctroP~
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...