Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C] dividere vettore char a priori illimitato

    Si codifichi un programma che legge da stdin una sequenza di caratteri a priori illimitata, derivata dal flusso di messaggi postati sui forum e nelle chat, e ignorando tutti i caratteri che non sono spazi, new line ('\n') o caratteri alfabetici, verifica se gli utenti utilizzano le parole “proibite” raccolte in un elenco, aggiornandone i dati sulle occorrenze e visualizzando i messaggi di avvertimento.

    la mia idea era di mettere tutto l'input in un vettore char con lunghezza massima (nel caso più vettori). poi dividere il vettore con gli spazi: ogni volta che c'è uno spazio salvo l'insieme di caratteri prima dello spazio/newline in un vettore parola che metto poi in una lista (quindi allocando dinamicamente la memoria per ogni parola) e poi vado a controllare ogni "casella" della lista con un insieme di parole proibite.

    Ha senso come cosa o ci sono modi migliori?

  2. #2
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    ciao

    Tutte le operazioni che vuoi fare complicano l'implementazione del programma e sono inutili.

    Io procederei cosi.

    1) Salvo in un array l'input, escludendo i caratteri non ammessi, quindi solo alfanumerici e spazi e newline.

    2)Si pu� creare una funzione che riconosca le parole, perch� sono delimitate da spazi e newline, e salvare parola per parola in un array di appoggio.
    per ogni parola proibita scorro l'array e lo divido in parole, e con strcmp() verifico che non sia uguale alla parola proibita, se uguale incremento un array occorrenze delle parole proibite.
    Quindi sarebbe utile avere le parole proibite in un array, e in un array parallelo le loro occorrenze.

    Dovrebbe essere pi� semplice di quello che vuoi fare tu.
    Tecnologia

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.