Ciao a tutti, oggi mi sono imbattuto in un esercizio che trovo particolarmente difficile, almeno per me, e quindi mi rivolgo a voi per poter avere un aiuto.
L'esercizio chiede di creare un programma che, inserite 20 frasi da massimo 80 parole ciascuna, conti il numero di vocali presente in ciascuna frase e stampi, il numero di vocali a, e, ecc... e poi il numero totale delle vocali.
Per iniziare ho pensato intato di scrivere il programma che prenda in ingresso le frasi e poi le stampi.
Alloco dinamicamente un array con dimensiome 20, e poi con l'istruzione cin.getline acquisisco le frasi cosi' da poter determinare la lunghezza massima di ogni singola frase.
Infine con cout.write stampo le frasi acquisite.
Ecco il codice, per comodita' ora lavoro con solo due frasi:
codice:
#include <iostream>
using namespace std;
int main ()
{
int n = 2;
char* p = new char[2];
cout << "Inserie un testo di massimo 80 parole" << endl;
for(int i=0; i<n; ++i)
{
cin.getline(p+i, 81);
}
for(int i=0; i<n; ++i)
{
cout.write (p+i, 80);
cout << endl;
}
return 0;
}
E qui mi imbatto nel primo problema, se ipotiziamo di inserire le frasi:
ciao
prova prova
ecco cosa ottengo per output:
cprova prova(ed una serie di caratteri vari)
prova prova(ed una serie di caratteri vari)
come mai ottengo questi output, e come posso risolvere la cosa?
Grazie