Salve a tutti! Sono una matricola alle prese con il c++. la traccia dell'esercizio è la seguente:
?Scrivere un programma che: "?dichiari un array di 50 elementi di tipo int;
?richieda all’utente l’inserimento di un certo numero di elementi fino all’inserimento di un carattere sentinella (per esempio s / n):
•?si gestiscano separatamente la cardinalità dell’array e riempimento dell’array.
si mostri il contenuto dell’array inserito.
fino al primo punto ci sono. arrivati al secondo punto ovviamente in video una volta dichiarato il riempimento se non inserisco nessun carattere flag il programma risponde a tutto; se invece lo inserisco non riesco a far stampare SOLO gli elementi inseriti prima del carattere con la rispettiva posizione, ma ovviamente mi stampa anche le altre rimanenti del riempimento. cosa sbaglio?
(spero di esser stata chiara)
#include <iostream>
#define N 50
using namespace std;
typedef int vet[N];
int main(int argc, char** argv) {
vet v;
int i=0;
int riemp;
int count=0;
char s;
cout<<"inserisci il riempimento"<<endl;
cin>>riemp;
while(riemp>N){
cout<<"ERRORE: inserire un riempimento minore di 50: "<<endl;
cin>>riemp;
}
do{
cout<<"insersci un valore diverso dal carattere flag s: "<<endl;
cin>>v[i];
i=i+1;
count++;
if(v[i]=='s'){
cout<<"hai inserito un carattere flag!!!"<<endl; }
for(i=0;i<count;i++){
cout<<"il vettore di posizione "<<i<<" e' "<<v[i]<<endl;
}
}
}while(i<riemp);
for(i=0;i<riemp;i++){
cout<<"il vettore di posizione "<<i<<" e' "<<v[i]<<endl;
}
return 0;
}
[code]