Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [C++] Array+Funzioni

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    4

    [C++] Array+Funzioni

    Ciao a tutti, innanzitutto mi scuso se non è la sezione giusta.

    Sono un principiante e stavo provando a fare un programmino che ritorni il numero di parole in una stringa, utilizzando array + funzioni con le quali mi trovo sempre in difficoltà.

    Vi chiedo se possibile di spiegarmi perchè non funziona come l'ho fatto, e magari di spiegarmi accorgimenti per migliorare il programma, l'ordine etc..
    codice:
    #include <cstdlib>
    #include <iostream>
    #include <string>
    #include <cstring>
    
    using namespace std;
    
    char stringarray[100];
    std::string inputstr;
    int count_words(char stringarray[100]);
    int numpar;
    
    int main()
    {
      std::cout << "Scrivi frase: ";
      std::getline(std::cin, inputstr);
      std::strcpy(stringarray, inputstr.c_str());
      numpar = count_words(stringarray);
      cout << "Numero parole: " << numpar;
        
        return(0);
    }
    
    int count_words(char str[100]){
    int num;
    for (int i=0; str[i]=='\0'; i++){
    if (str[i] == ' ' || str[i] == '\0')
    num++;
    }
    return(num);
    }
    Grazie mille, Luca.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Perché stai mischiando le stringhe del C e quelle del C++ ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    4
    Eh la funzione getline non mi funziona con l'array di char, anche se un libro mi diceva di si, allora ho deciso di leggere una stringa c++ e trasformarla in un array di char, dato che volevo lavorare con array e funzioni per "skillarmi" un po'

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Facci capire meglio, a prescindere da quello che (credi) funzioni o no ...

    Usi il C o il C++?

    Stringhe o array di char?

    L'input lo puoi fare anche con la fgets ....
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    4
    Uso C++

    Volevo fare una programma che mi desse il numero di parole in una stringa.

    Ho pensato di usare una stringa in formato C, perchè mi è venuto in mente di trovare gli spazi vuoti dopo le parole + il terminatore di stringa per contare le parole, ed ho pensato come farla con l'array...

    Dato che il getline con la stringa C non mi workava ho provato a usarlo su stringa C++ per poi copiarla in stringa C

    Effettivamente a parte sto trick che ho fatto il programma non necessita di istruzioni C++

    Ora capisco l'importanza dei commenti nel codice

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quello che vuoi fare lo puoi realizzare con le stringhe C++ ...

    Usa solo quelle ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2013
    Messaggi
    4
    Ok, approfondirò quello.

    Grazie

  8. #8

    Moderazione

    Per inciso, ti ricordo che il codice va specificato tra tag [CODE] ... [/CODE], altrimenti perde l'indentazione.

    Ora correggo io, in futuro imposta correttamente la discussione fin da subito.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.