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!