Liczby dwucyfrowe (bądź ujemne) w tablicy

0

Jak w temacie. Moim problemem jest fakt, że gry wprowadzam liczbę dwucyfrową bądź liczę ujemną (tzn. z minusem (np. -1)), to w przypadku liczby 50 tablica traktuje to jako 5 i 0 oddzielnie. Tak samo jest z -1, gdzie - i 1 są również traktowane oddzielnie. Wiem mniej więcej z czego to wynika, jednak nie wiem jak to zrobić, żeby działało dobrze. Poniżej kod, którym wprowadzam liczby.

		int n;
		string a;
		
		cout << "Ile liczb chcesz wprowadzic?: ";
		cin >> n;
		
		for(int i=0; i<=n-1; i++){
			cout << "Wprowadz liczbe " << i+1 << ": ";
			cin >> a[i];
		}
0

Huh?

Gdzie Ty tu masz w ogóle tablice? Wprowadzasz znak (char) w miejsce i łańcucha a. Problem polega na tym, że ten string jest pusty i nie możesz niczego wpisywać w żadne miejsce.

Napisz co chcesz zrobić, bo ten kod nie ma żadnego sensu.

2
                int n;
                cout << "Ile liczb chcesz wprowadzic?: ";
                cin >> n;
                int *a=new int[n]; // lub vector<int> a(n);
                for(int i=0;i<n;++i)
                  {
                   cout<<"Wprowadz liczbe "<<(i+1)<< ": ";
                   cin>>a[i];
                  }
0
std::vector<int> a;
int n = 1;
while( n )
 {
    cout<<"Wprowadz liczbe (0, aby zakończyć!):";
    cin>>n;
   a.push_back( n );
}
a.pop_pack(); //żeby uniknąć sprawdzania warunku przy każdym obiegu pętli.
//Usunąłem ostatnie 0

1 użytkowników online, w tym zalogowanych: 0, gości: 1