Descobrir qual string mais se repete no vetor!

Olá, gostaria de tirar uma duvida, estou fazendo um programa onde leio varios dados do tipo string de um arquivo txt e armazeno eles em um vetor, então gostaria de imprimir qual string mais se repete nesse vetor.

Vou postar oque fiz até agora, muito obrigado pela ajuda!

Codigo:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define T 255

// Prototipos
void lerData(FILE *arquivo, char Vetor[T]);
void lerPunicoes(FILE *arquivo, char Vetor[T]);
void lerGeneros(FILE *arquivo, char Vetor[T]);
void menuPrograma();

int main()
{
// Cria ponteiro do arquvio
FILE *file;

// VARIAVEIS
int Escolha;
char Datas[T], Punicoes[T], Generos[T];

scanf("%d", &Escolha);

switch (Escolha)
{
    case 1:
        file = fopen("C:\\Users\\pedro\\OneDrive\\Files\\Dev\\C\\Projects\\Inquisicao\\TxT\\Datas.txt", "r");
        lerData(file, Datas);
        break;

    default:
        printf("ESCOLHA INVALIDA!!");
        break;
}
return 0;

}

// Função para ler as datas
void lerData(FILE *arquivo, char Vetor[T])
{
while ( fgets(Vetor, T, arquivo) != NULL)
{
printf("%s", Vetor);
}

for (int i = 0; i < T; i++)
{
    for (int j = i + 1; j < T; j++) {

    }
}

}

Na sua função lerData() poderá invocar uma função que faça o seguinte:

  • Percorra todo o vetor (considerando que você já o tem totalmente preenchido após a leitura, ok?).
  • Busca um String dentro dele e compare com o restante usando um laço (N-1 comparações, ok?).
  • Faça isso para cada string (para cada posição do seu vetor T) : Crie uma variável para salvá-la indicando o número de repetições por exemplo. Dica: Você pode criar um vetor de números com tamanho T ( o mesmo do seu vetor T), cada posição é espelho do seu vetor de String, assim você pode atribuir o número de repetições de cada um.
  • Se existe variadas strings que se repetem, terá que depois compará-las a fim de obter a que deseja (ou seja, a que mais foi encontrada no vetor). Bastará encontrar a posição que tem o maior número do vetor.
  • Depois é só imprimí-la aonde desejar, se você tem já tem a posição através do item acima, recorra a posição do seu Vetor T para exibí-la.

Não sei se fui claro, mas o algoritmo não fugirá muito disso! Abs.

1 curtida

Entendi o que vc quis dizer, o problema mesmo esta sendo por isso no codigo, teria como me dar um exemplo apeanas para eu começar a desenvolver?? obrigado!