Witam, mam taki problem: próbuję napisać konstruktor, który będzie losować liczby do macierzy i potem to wyświetlać, mam tak:
class Macierz {
std::vector<int> vec_;
int wiersz_;
int kolumna_;
public:
Macierz();
Macierz(int wiersz, int kolumna);
void losuj(int wiersz, int kolumna);
void wyswietl();
};
Macierz::Macierz() {
wiersz_ = 0;
kolumna_ = 0;
}
Macierz::Macierz(int wiersz, int kolumna) {
wiersz_ = wiersz;
kolumna_ = kolumna;
}
void Macierz::losuj(int wiersz, int kolumna) {
srand(time(NULL));
//std::vector<int> vec;
wiersz_ = wiersz;
kolumna_ = kolumna;
for (int i = 0; i < kolumna_; i++) {
for (int j = 0; j < wiersz_; j++) {
j = rand() % 10 + 1;
vec_.push_back(j);
}
}
}
void Macierz::wyswietl() {
for (auto it = vec_.begin(); it != vec_.end(); it++) {
std::cout << *it << " ";
}
}
int main() {
Macierz a;
a.losuj(3, 3);
a.wyswietl();
}
ale w przypadku 3x3 losuje mi raz 4 liczby, innym razem 2 liczby. nie wiem od czego to zależy i co robię źle, proszę o pomoc ;/