Testo da file c++

di Anonimizzato15445 il
6 risposte
Salve a tutti avrei un problema con il seguente programma:
Sia dato da file un vettore contenente una sequenza di nomi, individuare il nome più lungo e quante volte è ripetuto.
Mi interessa solo sapere come individuare la parola massima....cioè come posso dal file di testo distinguere le diverse parole per poi confrontarle?
Posto il codice che comprende solo la lettura da file: (NB il programma non è organizzato in moduli e librerie, lo farò in una seconda stesura)
#include<iostream>
#include<cstdlib>
#include<fstream>
#include<string.h>

#define N 80
#define M 100

using namespace std;

typedef char stringa[N];
typedef stringa vettore[M];


int main ()
{
	vettore testo, parola;
	
	
	int max=0;
	int temp=0;
	
	
	
	
	
	int r=0;
	
	ifstream file;
	file.open("file.txt", ios::in);
	
	if(!file)
	{
		cout<<"\nFile non trovato! ";
		exit(1);
	}
	
	while(!file.eof())
	{
		
		file.getline(testo[r],N-1,'\n');
		r++;
				
	}
	for(int i=0; i<r; i++)
	{
		cout<<""<<testo[i];
	}

6 Risposte

  • Controlla la lunghezza di ogni stringa e memorizza il valore massimo
  • oregon ha scritto:


    Controlla la lunghezza di ogni stringa e memorizza il valore massimo
    Quello che non riesco a vedere è il fatto che già il testo con la sequenza di parole è una stringa, come posso fare ad individuare le sottostringhe ovvero le singole parole?
  • Ma in ogni riga c'è una sola parola? Non è chiaro
  • oregon ha scritto:


    Ma in ogni riga c'è una sola parola? Non è chiaro
    Sisi
  • Quindi ogni volta che leggi hai una stringa. Che difficoltà hai?
  • Scusa la mia assenza, alla fine ho risolto prendendo da file con file.getline e considerando ogni riga come stringa
Devi accedere o registrarti per scrivere nel forum
6 risposte