sa inicjowane przy dodawaniu i odejmowaniu, tutaj masz caly kod
#include <cstdlib>
#include <iostream>
#include <conio.h>
#include <cstdio>
using namespace std;
void wypelnienie(int** macierz, int wiersze, int kolumny)
{
for (int i=0; i<wiersze; i++)
{
for (int j=0; j<kolumny; j++)
{
cout << "Podaj wartosci elementow pierwszej macierzy : ";
cin >> macierz[i][j];
}
}
}
void pokazywanieA(int** macierz, int wiersze, int kolumny)
{
for (int i = 0; i < wiersze; ++i)
{
for (int j = 0; j < kolumny; ++j)
cout << macierz[i][j] << " ";
cout << "\n";
}
}
void pokazywanieB(int** macierzB, int wierszeB, int kolumnyB)
{
for (int i = 0; i < wierszeB; ++i)
{
for (int j = 0; j < kolumnyB; ++j)
cout << macierzB[i][j] << " ";
cout << "\n";
}
}
void dodawanieMacierzy(int** macierzB, int wierszeB, int kolumnyB, int** macierz, int wiersze, int kolumny)
{
cout<<"Wprowadź rozmiary drugiej macierzy : \n";
cout<<"\n Liczba wierszy : \n";
cin>>wierszeB;
cout<<"\n Liczba kolumn : \n";
cin>>kolumnyB;
if(wiersze == wierszeB , kolumny == kolumnyB)
{
for (int i=0; i<wierszeB; i++)
{
for (int j=0; j<kolumnyB; j++)
{
cout << "Podaj wartosc elementow drugiej macierzy : ";
cin>>macierzB[i][j];
macierzB[i][j] = macierz[i][j] + macierzB[i][j];
}
}
//Pokazanie macierzy
pokazywanieA(macierzB, wierszeB, kolumnyB);
for(int i=0; i<wiersze; ++i) delete [] macierz[i];
delete [] macierz;
for(int i=0; i<wierszeB; ++i) delete [] macierzB[i];
delete [] macierzB;
}
else
{
cout<<"Inna liczba kolumn lub wierszy, macierzy nie da sie dodac!";
}
}
void odejmowanieMacierzy(int** macierzB, int wierszeB, int kolumnyB, int** macierz, int wiersze, int kolumny)
{
cout<<"Wprowadź rozmiary drugiej macierzy : \n";
cout<<"\n Liczba wierszy : \n";
cin>>wierszeB;
cout<<"\n Liczba kolumn : \n";
cin>>kolumnyB;
if(wiersze == wierszeB , kolumny == kolumnyB)
{
for (int i=0; i<wierszeB; i++)
{
for (int j=0; j<kolumnyB; j++)
{
cout << "Podaj wartosc elementow drugiej macierzy : ";
cin>>macierzB[i][j];
macierzB[i][j] = macierz[i][j] - macierzB[i][j];
}
}
//Pokazanie macierzy
pokazywanieB(macierzB, wierszeB, kolumnyB);
for(int i=0; i<wiersze; ++i) delete [] macierz[i];
delete [] macierz;
for(int i=0; i<wierszeB; ++i) delete [] macierzB[i];
delete [] macierzB;
}
else
{
cout<<"Inna liczba kolumn lub wierszy, macierzy nie da sie dodac!";
}
}
void mnozeniePrzezLiczbe(int** macierz, int wiersze, int kolumny, int liczba)
{
//Mnozenie przez liczbe
cout << "Przez ile pomnozyc macierz : ";
cin >> liczba;
for (int i=0; i<wiersze; i++)
{
for (int j=0; j<kolumny; j++)
{
macierz[i][j] = macierz[i][j] * liczba;
}
}
//Pokazanie macierzy
pokazywanieA(macierz, wiersze, kolumny);
for(int i=0; i<wiersze; ++i) delete [] macierz[i];
delete [] macierz;
}
int main(int argc, char** argv)
{
int b=0,li=0;
int q=0,w=1;
for(;q!=w;)
{
system("cls");
//Tworzenie i zerowanie macierzy
int kolumny;
int wiersze;
cout<<"Wprowadz rozmiary macierzy : \n";
cout<<"\n Liczba wierszy : \n";
cin>>wiersze;
cout<<"\n Liczba kolumn : \n";
cin>>kolumny;
int **macierz=new int*[wiersze];
for(int i=0; i<wiersze; ++i) macierz[i]=new int[kolumny];
int kolumnyB;
int wierszeB;
int **macierzB=new int*[wierszeB];
for(int i=0; i<wierszeB; ++i) macierzB[i]=new int[kolumnyB];
int liczba;
//Wypelnianie macierzy
wypelnienie(macierz, wiersze, kolumny);
system("cls");
//Pokazanie macierzy
pokazywanieA(macierz, wiersze, kolumny);
cout<<"Wybierz operacje : \n";
cout<<" \n1. Dodawanie\n2. Odejmowanie\n3. Mnozenie\n4. Mnozenie przez liczbe rzeczywista\n5. Odwrotnosc\n6. Zakoncz program\n";
cin>>b;
switch (b)
{
case 1:system("cls");
//Dodawanie macierzy
dodawanieMacierzy(macierzB, wierszeB, kolumnyB, macierz, wiersze, kolumny);
getch(); break;
case 2:system("cls");
odejmowanieMacierzy(macierzB, wierszeB, kolumnyB, macierz, wiersze, kolumny);
getch(); break;
case 3:system("cls");
getch(); break;
case 4:system("cls");
mnozeniePrzezLiczbe(macierz, wiersze, kolumny, liczba);
getch(); break;
case 5:system("cls");
getch(); break;
case 6:
w=0;break;
default:
cout<<"Zla opcja sprobuj ponownie";
getch(); break;
system("PAUSE");
return EXIT_SUCCESS;
}
}
return 0;
}