Wpisywanie danych do tablicy...

0

Witam mam problem z wpisywaniem danych do tablicy, robiąc to za 1 razem czyli mamy np:
cin>>tablica

i wpisujemy wszystkie liczby które chcemy robiłem tak:
for(int i=0;i<100;i++){
cin>>tab[a]
}
ale teraz tak.. chcę aby program rozpoczął się od razu po wpisaniu liczb chodzi o to że wpisze sobię w 1 linii 2 9 1 5 3 2 4 5 i te liczby mi się po prostu dodadzą... żeby nie wpisywać tych pełnych 100 liczb..
próbowałem:
while(cin>>tab[licz]){
licz++
}
ale to też na nic ;/

3
#include <iostream>
#include <vector>
#include <iterator>
using namespace std;

int main() {
	vector<int> nums{
		istream_iterator<int>(cin),
		istream_iterator<int>()
	};
	return 0;
}
0

[bcc32 Error] File1.cpp(24): E2108 Improper use of typedef 'vector<int,allocator<int> >'
Full parser context
File1.cpp(21): parsing: int main(int,char * *)
błąd ;/
Chodzi mi o to aby:
wpisujemy liczby 30 90 10 20 9 1 5 i klikamy enter i te liczby zostają dodane do tablicy!

0

Mój program ma 12 linii kodu, błąd w twoim występuje na 24 linijce. Szklanej kuli nie mam.

0

Dla c++ nie ma znaczenia czy rozdzielasz je spacją, enterem czy też tabem, jeśli że znasz góry ilość liczb które będziesz wpisywał, wtedy pierwszy kod z twojego pierwszego postu zadziała.

Jak nie znasz to będzie coś takiego

#include <iostream>
#include <vector>

using namespace std;



int main()
{
vector<int> tab;
int liczba;
while (cin >> liczba)
{
    tab.push_back(liczba);
}
for (int i=0;i<tab.size();i++)
{
    cout << tab[i] << endl;
}
return 0;

}

Wypisywanie kończysz przez ctrl + d pod Linuksem, lub ctrl + z pod Windows. Jak to koniecznie musi być kończone enterem, to trzeba będzie wczytać całą linię i ją potem dzielić na liczby.

No chyba że chcesz podać mu te liczby przy uruchamianiu programu, przez nazwaprogramu [tu liczby], wtedy poczytać o argc i argv[]

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