Witam, nie umiem poradzić sobie z wyświetlaniem vector a który jest sumą dwóch innych, proszę o pomoc.
Zamiast zawartości vector a wyświetla się 00 11 jakby numeracja kolumn. Czy chodzi o to że muszę wskazać że odnoszę się do elementu vector a poprzez "->"?
Proszę tylko o zachowanie niekonstruktywnej krytyki dla siebie, konstruktywną chętnie przyjmę.
Dodam że się dopiero uczę.
Metoda odpowiadająca za wyświetlanie i sumowanie:
void sum_vectors() {
vector<vector<int>>temp_sum;
for (int a = 0;a < macierz1.size();a++) {
vector <int> temp;
for (int b = 0;b < macierz1[0].size();b++) {
int c;
c=macierz1[a][b] + macierz2[a][b];
temp.push_back(a);
cout << c;
}
cout << endl;
temp_sum.push_back(temp);
}
for (int a = 0;a < macierz1.size();a++) {
for (int b = 0;b < macierz1[a].size();b++) {
int c;
c= temp_sum[a][b];
cout << "\t" <<c;
}
cout << endl;
}
}
Cały kod:
#include <iostream>
#include<vector>
using namespace std;
class vectors {
public:
vector<vector<int>>macierz1;
vector<vector<int>>macierz2;
void add_vector() {
int how_many_numbers;
int how_many_vektors;
int numb = 1;
cout << "Ile wierszy chcesz dodac ?" << endl;
cin >> how_many_vektors;
cout << "Ile liczb chcesz dodac w wierszu ?" << endl;
cin >> how_many_numbers;
for (int a = 0;a < how_many_vektors; a++) {
vector<int>temp;
cout << "Podaj nastepujace liczby dla wiersza numer"<<numb << endl;
for (int b = 0;b < how_many_numbers;b++) {
int temp_number;
cin >> temp_number;
temp.push_back(temp_number);
}
macierz1.push_back(temp);
numb++;
}
system("cls");
numb = 1;
cout << "Teraz wprowadź dla macierza numer dwa" << endl;
for (int a = 0;a < how_many_vektors;a++) {
vector<int>temp;
cout << "Podaj nastepujace liczby dla wiersza numer" << numb << endl;
for (int b = 0;b < how_many_numbers;b++) {
int temp_number;
cin >> temp_number;
temp.push_back(temp_number);
}
macierz2.push_back(temp);
numb++;
}
system("cls");
}
void sum_vectors() {
vector<vector<int>>temp_sum;
for (int a = 0;a < macierz1.size();a++) {
vector <int> temp;
for (int b = 0;b < macierz1[0].size();b++) {
int c;
c=macierz1[a][b] + macierz2[a][b];
temp.push_back(a);
cout << c;
}
cout << endl;
temp_sum.push_back(temp);
}
for (int a = 0;a < macierz1.size();a++) {
for (int b = 0;b < macierz1[a].size();b++) {
int c;
c= temp_sum[a][b];
cout << "\t" <<c;
}
cout << endl;
}
}
};
int main()
{
vectors a;
do {
int chose;
cout << endl << endl;
cout << "1.Dodaj macierz." << endl;
cout << "2.Sumuj macierze." << endl;
cout << "3.Mnożenie vektorów" << endl;
cout << "0.Koniec." << endl;
cin >> chose;
switch (chose)
{
case 1:
a.add_vector();
break;
case 2:
a.sum_vectors();
break;
case 3:
break;
case 0:
return 0;
break;
}
} while (true);
}