rendered paste body/* Name: macierz_v2 Copyright: Łukasz Wątor Author: Łukasz Wątor Date: 18.06.07*/#include <iostream>int RandomNumber();void FormatMsg(int c[3][3]);void InitializeRandomMatrix();void MultiplyMatrix();void AddMatrix();void SubstractMatrixAB();void SubstractMatrixBA();void PickChoice();using namespace std;int a[3][3]; //macierz losowa Aint b[3][3]; //macierz losowa Bint c[3][3]; //macierz wynikowint main(){ //wypisanie info dla uzytkownika cout<<"Program dodaje, odejmuje badz mnozy dwie losowe macierze 3x3, dostepne akcje:"<<endl; cout<<"0:dodawanie"<<endl; cout<<"1:odejmowanie A-B"<<endl; cout<<"2:odejmowanie B-A"<<endl; cout<<"3:mnozenie AxB"<<endl; cout<<endl; //zapelnianie macierzy pseudolosowymi wartosciami InitializeRandomMatrix(); //wybranie przez uzytkownika akcji i przeprowadzenie odpowiedzniej operacji PickChoice(); //wyswietlenie sformatowanego ciagu wyjsciowego macierzy A cout<<"A:"<<endl; FormatMsg(a); cout<<endl; //...B... cout<<"B:"<<endl; FormatMsg(b); cout<<endl; //...macierzy wynikowej - C. cout<<"Wynik:"<<endl; FormatMsg(c); cout<<endl; system("PAUSE");}//sformatowany ciag wyjsciowy macierzy danejvoid FormatMsg(int c[3][3]){ for (int z = 0; z < 3; z++) { printf("%6d%6d%6d", c[z][0], c[z][1], c[z][2]); cout<<endl; }}int RandomNumber(){ return (rand() % 200) - 100;}//inicjalizacja macierzy z pseudolosowymi wartosciami (macierze 3x3)void InitializeRandomMatrix(){ srand ( time(NULL) ); for (int h = 0; h < 3; h++) { for (int z = 0; z < 3; z++) { //przypisanie pseudolosowych wartosci typu int a[h][z] = RandomNumber(); b[h][z] = RandomNumber(); } }}//mnozenie macierzy a i b i wpisanie wyniku w macierz cvoid MultiplyMatrix(){ int tmp = 0; for (int h = 0; h < 3; h++) { for (int z = 0; z < 3; z++) { tmp = 0; for (int y = 0; y < 3; y++) { tmp += a[h][y] * b[y][z]; } c[h][z] = tmp; } } }//dodawanie macierzy A+Bvoid AddMatrix(){ for (int h = 0; h < 3; h++) { for (int z = 0; z < 3; z++) { c[h][z] = a[h][z] + b[h][z]; } }}//odejmowanie macierzy A-Bvoid SubstractMatrixAB(){ for (int h = 0; h < 3; h++) { for (int z = 0; z < 3; z++) { c[h][z] = a[h][z] - b[h][z]; } } }//odejmowanie macierzy B-Avoid SubstractMatrixBA(){ for (int h = 0; h < 3; h++) { for (int z = 0; z < 3; z++) { c[h][z] = b[h][z] - a[h][z]; } } }//funkcja determinujaca wybranie akcji badz zakonczenie programu bez wyboru akcji dzialania na macierzyvoid PickChoice(){ char choice; bool endLoop = true; do { cout<<"Wybierz akcje: "; cin>>choice; switch(choice) { case '0': AddMatrix(); endLoop = false; break; case '1': SubstractMatrixAB(); endLoop = false; break; case '2': SubstractMatrixBA(); endLoop = false; break; case '3': MultiplyMatrix(); endLoop = false; break; } } while (endLoop);}