Próbuję napisać program, który pobiera od użytkownika wpisane liczby, zapisuje je w tabeli i liczy ich średnią. Tyle, że nie podaję ilości indeksów ponieważ chcę jak najmniej pamięci zabrać. Więc zastosowałem strukturę. Problem w tym że wpisuję sobie ileś liczb, wpisuję 's' (bez różnicy jaki to byłby znak) i tutaj wywala błędy. Jeżeli nie macie możliwoścu skompilować kodu to tutaj co wpisuję "1,2,3,4,s" (, to enter:)), oto wynik w konsoli:
http://wklej.org/id/3221977/
A tutaj kod:
#include <iostream>
using namespace std;
int liczbaWpisana;
int iloscLiczb=0;
int iloscIndeksow=0;
int suma;
struct licz
{
int tablica[];
};
int main()
{
licz dodaj;
for(;;)
{
cin>>liczbaWpisana;
if(!cin)//jezeli nie wpisze sie liczby
break;
else
dodaj.tablica[iloscIndeksow]=liczbaWpisana;
iloscIndeksow++;
iloscLiczb++;
}
cout<<"Indeks 0: "<<dodaj.tablica[0]<<endl;
cout<<"Indeks 1: "<<dodaj.tablica[1]<<endl;
cout<<"Indeks 2: "<<dodaj.tablica[2]<<endl;
cout<<"Indeks 3: "<<dodaj.tablica[3]<<endl;
cout<<"Ilosc liczb: "<<iloscLiczb<<endl;
for(int i=0;i<iloscLiczb;i++)
{
cout<<"Indeks: "<<i<<" wartosc: "<<dodaj.tablica[i]<<endl;
}
return 0;
}