Array dinamico C++

di il
12 risposte

Array dinamico C++

Buonasera a tutti gli utenti e gli ospiti di questo forum.
Vorrei chiedere agli esperti se c'è un modo in C++ per leggere una stringa da tastiera e contemporaneamente memorizzarla in un array con dimensione pari alla lunghezza della stringa digitata.

Vi ringrazio in anticipo.

12 Risposte

  • Re: Array dinamico C++

    Usa la classe string del C++ e non ti devi preoccupare della memorizzazione della stringa.

    Se vuoi per forza utilizzare un array di char, devi eseguire l'input carattere per carattere e controllare le dimensioni dell'array da ridimensionare con un realloc man mano che esegui l'input. Ma non vale la pena scrivere tutto il codice e non vale solo per il C++.
  • Re: Array dinamico C++

    Usa la classe string del C++ e non ti devi preoccupare della memorizzazione della stringa.
    Cioé una cosa del genere?

    #
    include<iostream>
    #include<cstring>
    using namespace std;
    
    int main()
    {
       char string;
       cin>>string;
    }
    
  • Re: Array dinamico C++

    Secondo te cosa rappresenta string in quel codice?

    Una curiosità... avendo la possibilità di testare il codice con un semplice click del mouse, perchè negarsela?!
  • Re: Array dinamico C++

    Ovviamente è sbagliato e non hai neanche provato a compilare

    #include <string>

    string tuavariabile;
    cin >> tuavariabile;
  • Re: Array dinamico C++

    @oregon
    Relativamente al codice che hai postato, non sarebbe stato il caso di introdurre anche il "problema" legato agli spazi?

    P.S.
    esistono i TAG appositi per postare codice sul forum!
  • Re: Array dinamico C++

    @Nippolo ...

    1) Una cosa per volta

    2) Lo so, da 12000 messaggi circa, ma per tre linee va bene anche così
  • Re: Array dinamico C++

    Non ho provato a compilare perché non aveva senso ed ero sicuro che non era la risposta a quello che chiedevo...

    Vi ringrazio comunque per la gentilezza e disponibilità.
    C'è differenza tra cstring e string?
  • Re: Array dinamico C++

    Visto che ci sono faccio un'altra domanda…
    Memorizzando una strina in quel modo, come faccio a gestire gli spazi?
    Ad esempio contare gli spazi tra le parole....
  • Re: Array dinamico C++

    Cstring è l'header per gestire le stringhe C in C++

    string è l'header per la classe stringe del C++

    L'input con gli spazi in una string lo puoi fare con la

    getline(cin, tuavariabile);

    Poi dovrai separare le parole utilizzando altre caratteristiche della libreria del C++. Vedi

    https://stackoverflow.com/questions/236129/how-do-i-iterate-over-the-words-of-a-string

    per qualche esempio.

    Ma se non studi la documentazione della libreria standard e del linguaggio (magari dai libri), non potrai imparare a programmare.
    Questo tipo di approccio (qualche domanda in un forum) non ti serve a nulla.
  • Re: Array dinamico C++

    Per la verità sto studiando da un libro di programmazione,ma della libreria string ancora non ne parla. Le domande sono venute fuori mentre facevo un esercizio che so fare e che volevo migliorare.
    Mi sarebbe piaciuto fare un programma del genere:

    1. Immetti una stringa che può essere anche un'intera frase;
    2. la frase deve essere memorizzata e visualizzata. Avevo pensato ad un array dinamico che si crea mentre digito la frase
    3. creare delle funzioni per contare gli spazi, contare le lettere maiuscole ecc;

    L'unico problema è la creazione di un vettore dinamico che prende la dimensione mentre leggo la frase.....non so se mi spiego...
  • Re: Array dinamico C++

    Se studi e programmi in C++ non si fa con questo "vettore dinamico" di cui parli ma con la classe string.

    Quindi, inutile ripeterlo, t'ho già detto come fare, dovresti studiare la classe string e usarla.

    Un suggerimento, utilizza la getline(cin , varstring);
  • Re: Array dinamico C++

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
12 risposte