Witam. Mamy problem z programem który napisałem, kompiluje się ale w trakcie wykonywania wywala mi błąd. Nie bardzo wiem co zrobiłem źle. Program oblicza sumę macierzy o liczbie wierszy i kolumn podanych przez użytkownika ( poszczególne wartości wewnątrz macierzy generowane są losowo) i dodaję obie macierze poprzez procedurę.
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
void dodaj(int w, int k, int **t1, int **t2);
/*************************************************************************************/
int main()
{
srand(time(NULL));
int w, k;
cout << "Podaj liczbe wierszy macierzy 1 i 2: ";
cin >> w;
system("cls");
cout << "Podaj liczbe kolumn macierzy 1 i 2: ";
cin >> k;
system("cls");
int **t1, **t2;
t1 = new int*[w]; //ile wierszy
t1[w] = new int[k]; //ile kolumn
t2 = new int*[w]; //to samo dla t2
t2[w] = new int[k];
cout << "Macierz 1: " << endl;
for (int i = 0;i < w;i++) //zaczynamy generowanie
{
for (int j = 0;j < k;j++)
{
t1[i][j] = (rand() % 10 + 1);
cout << "{" << t1[i][j] << "}";
}
cout<<endl;
}
cout << endl << endl << "Macierz 2: " << endl;
for (int i = 0;i < w;i++)
{
for (int j = 0;j < k;j++)
{
t2[i][j] = (rand() % 10 + 1);
cout << "{" << t2[i][j] << "}";
}
cout << endl;
}
cout << endl << endl << "Macierz sumy : " << endl;
dodaj(w, k, t1, t2);
return 0;
}
/************************************************************************************/
void dodaj(int w, int k, int **t1, int **t2)
{
for (int i = 0;i < w;i++)
{
for (int j = 0;j < k;j++)
{
cout << "{" << t1[i][j] + t2[i][j] << "}";
}
cout << endl;
}
}