wprowadzenie liczb rozdzielonych spacją

0

Mam pytanie, jak wprowadzić ciąg liczb rozdzielonych spacją np(1 3 5) do tablicy aby tab[1]=1 , tab[2]=3, tab[5]=5?

5
int tab[3];
for (int i = 0; i < 3; ++i)
    cin >> tab[i]

Pamiętaj, tablice są numerowane od 0.

4

Jakbyś poszukał to byś znalazł. Tutaj masz pokazane jak to zrobić przy pomoce std::vector.
http://stackoverflow.com/questions/27777618/c-how-to-input-space-separated-numbers-into-array

7
#include <iostream>
using namespace std;

int main() {
	constexpr size_t size = 3;
	int table[size];
	for(int &el: table){
		cin >> el;
	}
	
	for(size_t i = 0; i < size; ++i){
		cout << "table[" << i << "]: " << table[i] << endl;
	}
	return 0;
}

http://ideone.com/NB3bJs

Lub jeśli nienawidzisz swoich przyszłych współpracowników:

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

int main() {
	vector<int> table = {
		istream_iterator<int>(cin),
		istream_iterator<int>()
	};
	
	for_each(begin(table), end(table), [&, idx = 0](int _) mutable{
		cout << "table[" << idx << "] = " << table[idx] << endl;
		idx += 1;
	});
	return 0;
}

http://ideone.com/o8jYtX

Ewentualnie jeśli masz awersję do kontenerów:

#include <iostream>
#include <algorithm>
#include <iterator>
using namespace std;

int main() {
	transform(
		istream_iterator<int>(cin),
		istream_iterator<int>(),
		ostream_iterator<int>(cout, "\n"),
		[idx = 0](int el) mutable{
			cout << "table[" << idx++ << "] = ";
			return el;
		}
	);
	return 0;
}

http://ideone.com/PjRh49

3

uzyj std::vector w ten sposób

std::vector<int> liczby
int liczba = 0;
while (cin >> liczba)  
{  
  liczby.push_back(liczba);
} 

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