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?
0
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;
}
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;
}
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;
}
3
uzyj std::vector w ten sposób
std::vector<int> liczby
int liczba = 0;
while (cin >> liczba)
{
liczby.push_back(liczba);
}