Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2013
    residenza
    Napoli
    Messaggi
    7

    [C++] Occorrenze nomi da file

    salve ragazzi ho bisogno del vostro aiuto...

    dovrei compilare un programma in grado di leggere dei nomi in un file.txt che io ho chiamato (nomi.txt)

    questa è la funzione che ho usato per leggere da file,avendo dichiarato ovviamente nel file header

    typedef char stringa [256];
    typedef stringa nome[N] (con N definita = 100)

    codice:
    void leggi_nomi(nome n,int &riempimento)
    { 
        riempimento=0;
         
         ifstream leggi ("nomi.txt");
         
         while(!leggi.eof())
         {
            leggi>>n[riempimento];
            riempimento++;
         }
         
         leggi.close();
         
       
    }
    richiamandola nel main con tanto di stampa nomi...

    dopo di che dovrei contare quante volte ogni nome si ripete nel file...il problema è proprio quest'ultimo passaggio non so proprio come fare...ricordo solo che il prof usò una struct se non sbaglio...

    mi date una mano per favore??

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Per nomi intendi tipo:
    Mario Giovanni Giacomo
    oppure:
    Mario Rossi
    Giovanni Belluomo

    Fondamentalmente per contare le volte in cui appare un nome devi confrontarlo con gli altri e per questo puoi usare strcmp (dato che hai usato un array di char).

    Io però cambierei totalmente: prima di tutto userei la classe string al posto di un array di char. Secondo userei una map che ha come key il nome e come elemento un intero che mantiene il conto delle volte che l'hai letto.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2013
    residenza
    Napoli
    Messaggi
    7
    no i nomi sono scritti nel file tipo così :

    Marco
    Mario
    Giovanni
    Giovanni
    Marco
    Marco
    Marco
    Mario

    per quanto riguarda la map controllo il programma del prof per vedere se è stata spiegata in mia assenza (non vorrei azzardare qualcosa di cui non ha parlato),avevo pensato allo strcmp,ma poi ho creduto che con esso i nomi sarebbero stati contati piu volte di quanto compaino o mi sbaglio? credo che non sia conveniente anche perchè poi dovrei creare un contatore per ogni nome,finche sono pochi ok,ma mettiamo caso che i nomi siano piu di 20 diversi non credo sia facile gestire il tutto...per questo cercavo una soluzione piu adatta

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    No, di mappa te ne basta 1.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.