All pastes #583515 Raw Edit

macierz_v2

public cpp v1 · immutable
·published 2007-06-22 12:17 UTC
rendered paste body
/*  Name: macierz_v2  Copyright: &#321;ukasz W&#261;tor  Author: &#321;ukasz W&#261;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);}