Mam problem z funkcja suma_tablic. Próbuje dodać tam tablicę dynamiczną, niestety za każdym razem podkreśla mi n i m w tablicy suma informując, że mam jakiś błąd.
float ** stworz_tablice(int &n, int&m)
{
cout << "Podaj wartosc n(liczba wierszy): " << endl;
cin >> n;
cout << "Podaj wartosc m(liczba kolumn):" << endl;
cin >> m;
float **tab = new float*[n];
for (int i = 0; i < n; i++)
{
tab[i] = new float[m];
}
return tab;
}
void wypelnij_tablice(float ** tab, int n, int m)
{
srand(unsigned(time(0)));
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
tab[i][j] = rand() % 10;
}
}
}
void wyswietl_tablice(float ** tab, int n, int m, string nazwa)
{
cout << endl << nazwa;
for (int i = 0; i < n; i++)
{
cout << endl;
for (int j = 0; j < m; j++)
{
cout << tab[i][j] << " ";
}
}
}
float** usun_tablice(float ** tab, int n, int m)
{
for (int i = 0; i < n; i++)
delete[] tab[i];
delete[] tab;
tab = 0;
return tab;
}
void suma_tablic(float **tab, float ** tabb, int n, int m, string nazwa)
{
float suma[n][m];
cout << endl << nazwa;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
suma[i][j] = tab[i][j] + tabb[i][j];
cout << suma[i][j] << " ";
}
}
cout << endl;
}
int main()
{
menu:
int wybor = 0;
cout << "Wybierz co chcesz obliczyc:" << endl;
cout << "1. Zadanie 3 - Wszystkie Podpunkty" << endl;
cout << "2. Exit" << endl;
cin >> wybor;
switch (wybor)
{
case 1:
{
system("cls");
int n1, m1, n2, m2;
float **tab1, **tab2;
cout << "Wybrales punkt 4 - Zadanie 3." << endl;
tab1 = stworz_tablice(n1, m1);
wypelnij_tablice(tab1, n1, m1);
wyswietl_tablice(tab1, n1, m1, "Tablica 1");
cout << "\n\n\nN1 = " << n1;
cout << endl << endl;
tab2 = stworz_tablice(n2, m2);
wypelnij_tablice(tab2, n2, m2);
wyswietl_tablice(tab2, n2, m2, "Tablica 2");
cout << "\n\n\nN2 = " << n2;
cout << endl << endl;
suma_tablic(tab1, tab2, n1, m1, "Suma macierzy:");
tab1 = usun_tablice(tab1, n1, m1);
tab2 = usun_tablice(tab2, n2, m2);
goto menu1;
}
case 2:
{
return 0;
}
}
menu1:
int taknie = 0;
cout << "Chcesz przejsc do menu glownego?" << endl;
cout << "1 - Tak" << endl;
cout << "2 - Nie" << endl;
cin >> taknie;
switch (taknie)
{
case 1:
{
system("cls");
goto menu;
}
case 2:
{
return 0;
}
default:
{
system("cls");
goto menu1;
}
}
system("pause");
}