Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [C++] Punteggiatura

  1. #1

    [C++] Punteggiatura

    Ciao ragazzi, ho bisogno di una mano con un esercizio di programmazione base in C++

    "Scrivete un programma che legge una stringa contenente caratteri e segni di punteggiatura e stampa la stringa letta ma con tutti i segni di punteggiatura rimossi."

    Io so farlo con l'iterator Erase_if ma non va bene al prof..

    Forse lo vuole fatto solo con i ciclo e ovviamente usando ispunct().

    Qualche idea?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Usa due variabili intere i,j, all'inizio le imposti a 0. Ad ogni ciclo leggi il carattere i e lo scrivi in j se non è un segno di punteggiatura, aumenti i, aumenti j se hai scritto. Arrivato alla fine assegni alla posizione attuale di j un '\0'.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    È l'unico modo? Non si può semplificare ulteriormente? Tipo con il while e il metodo ispunct

  4. #4
    Quote Originariamente inviata da Ronald940 Visualizza il messaggio
    È l'unico modo? Non si può semplificare ulteriormente? Tipo con il while e il metodo ispunct
    È il metodo standard e più efficiente (fai una singola passata) per fare cancellazioni in un vettore; lo si può implementare tranquillamente con un while (anche se personalmente trovo più comodo un for).
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Quote Originariamente inviata da Ronald940 Visualizza il messaggio
    È l'unico modo? Non si può semplificare ulteriormente? Tipo con il while e il metodo ispunct
    Certo che si può semplificare ulteriormente! Scrivi una bella funzione che accetti un puntatore a funzione così se lo devi rifare non sei costretto a riscrivere tutto!
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  6. #6
    Quote Originariamente inviata da Scara95 Visualizza il messaggio
    Certo che si può semplificare ulteriormente! Scrivi una bella funzione che accetti un puntatore a funzione così se lo devi rifare non sei costretto a riscrivere tutto!
    (che peraltro significa di fatto implementarsi la std::remove_if )
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Quote Originariamente inviata da MItaly Visualizza il messaggio
    (che peraltro significa di fatto implementarsi la std::remove_if )
    Certo, ma se lo fai a manina un professore non può rifiutartelo (:
    "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 © 2025 vBulletin Solutions, Inc. All rights reserved.