Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- class macierz
- {
- private:
- int szer;
- int wys;
- int **tab;
- int **D;
- int **E;
- int **F;
- public:
- macierz(int szer1, int wys1);
- macierz();
- int pobierzSzerokosc()
- {
- return szer;
- }
- int pobierzWysokosc()
- {
- return wys;
- }
- void wypelnij()
- {
- for(int i = 0 ; i < wys ; i++)
- for (int j = 0; j < szer ; j++)
- cin >> tab[i][j];
- }
- void wyswietl()
- {
- for(int i = 0 ; i < wys ; i++)
- {
- cout << endl;
- for (int j = 0; j < szer ; j++)
- cout << tab[i][j] << " ";
- }
- }
- void wyswiersze(int ktoryw)
- {
- for (int i = 0; i < szer ; i++)
- cout << tab[ktoryw][i] << " ";
- }
- void wyskolumny(int ktorakol)
- {
- for (int i = 0; i < szer ; i++)
- cout << tab[i][ktorakol] << endl;
- }
- void dodaj(macierz pierw, macierz drug)
- {
- D = new int*[wys];
- for (int x = 0 ; x < wys ; x++)
- {
- D[x] = new int[szer];
- }
- for(int i = 0; i < wys; i++)
- for(int j = 0; j < szer; j++)
- D[i][j] = pierw.tab[i][j] + drug.tab[i][j];
- for(int k = 0 ; k < wys ; k++)
- {
- cout << endl;
- for (int f = 0; f < szer ; f++)
- cout << D[k][f] << " ";
- }
- }
- void odejmij(macierz pierw, macierz drug)
- {
- E = new int*[wys];
- for (int x = 0 ; x < wys ; x++)
- {
- E[x] = new int[szer];
- }
- for(int i = 0; i < wys; i++)
- for(int j = 0; j < szer; j++)
- E[i][j] = pierw.tab[i][j] - drug.tab[i][j];
- for(int k = 0 ; k < wys ; k++)
- {
- cout << endl;
- for (int f = 0; f < szer ; f++)
- cout << E[k][f] << " ";
- }
- }
- void przezliczbe(int m)
- {
- for(int i = 0 ; i < wys ; i++)
- {
- cout << endl;
- for (int j = 0; j < szer ; j++)
- cout << tab[i][j] * m << " ";
- }
- }
- void zapiszplik()
- {
- ofstream plik;
- plik.open("plik.txt");
- for(int i = 0 ; i < wys ; i++)
- {
- for (int j = 0; j < szer ; j++)
- plik << tab[i][j] << " ";
- plik << endl;
- }
- plik.close();
- }
- /* void wczytajplik()
- {
- ifstream plik2;
- plik2.open("plik2.txt");
- if(plik2.is_open())
- {
- for(int i = 0 ; i < wys ; i++)
- {
- for (int j = 0; j < szer ; j++)
- plik2 >> tab[i][j] << " ";
- plik2 >> endl;
- }
- plik2.close();
- }
- } */
- };
- macierz::macierz(int szer1 = 5, int wys1 = 5) //konstruktor
- {
- szer = szer1;
- wys = wys1;
- tab = new int*[wys];
- for (int x = 0 ; x < wys ; x++)
- {
- tab[x] = new int[szer];
- }
- }
- int main()
- {
- int a,b,c,d,e,f;
- cout << "Podaj wymiary pierwszej macierzy: " << endl;
- cout << "Szerokosc: "; cin >> a;
- cout << "Dlugosc: "; cin >> b; cout << endl;
- macierz pierwsza(a,b);
- cout << "Macierz ma wymiary " << pierwsza.pobierzSzerokosc() << "x" << pierwsza.pobierzWysokosc() << endl;
- cout << "Wprowadz liczby do macierzy:" << endl;
- pierwsza.wypelnij();
- cout << endl << "Oto twoja macierz: " << endl;
- pierwsza.wyswietl();
- cout << endl << "Podaj jaki wiersz chcesz zobaczyc: " << endl;
- cin >> c;
- cout << endl << endl;
- pierwsza.wyswiersze(--c);
- cout << endl << "Podaj jaka kolumne chcesz zobaczyc: " << endl;
- cin >> d;
- cout << endl << endl;
- pierwsza.wyskolumny(--d);
- //////////////////////////////////////////////////////////////// NOWA MACIERZ
- cout << "Podaj wymiary drugiej macierzy: " << endl;
- cout << "Szerokosc: "; cin >> e;
- cout << "Dlugosc: "; cin >> f; cout << endl;
- macierz druga(e,f);
- cout << "Macierz ma wymiary " << druga.pobierzSzerokosc() << "x" << druga.pobierzWysokosc() << endl;
- cout << "Wprowadz liczby do macierzy:" << endl;
- druga.wypelnij();
- cout << "Oto twoja macierz: " << endl;
- druga.wyswietl();
- ////////////////////////////////////////////////////////////////
- if(pierwsza.pobierzSzerokosc() == druga.pobierzSzerokosc() || pierwsza.pobierzWysokosc() == druga.pobierzWysokosc())
- {
- cout << endl<< endl << "Wynik dodawanie 2 macierzy:";
- macierz trzecia(pierwsza.pobierzSzerokosc(),pierwsza.pobierzWysokosc());
- trzecia.dodaj(pierwsza, druga);
- }
- else
- cout << endl << "Aby wykonac dodawanie macierze musza byc tego samego wymiaru!" << endl;
- ////////////////////////////////////////////////////////////////
- if(pierwsza.pobierzSzerokosc() == druga.pobierzSzerokosc() || pierwsza.pobierzWysokosc() == druga.pobierzWysokosc())
- {
- cout << endl << endl << "Wynik odejmowania 2 macierzy:";
- macierz trzecia(pierwsza.pobierzSzerokosc(),pierwsza.pobierzWysokosc());
- trzecia.odejmij(pierwsza, druga);
- }
- else
- cout << endl << "Aby wykonac odejmowanie macierze musza byc tego samego wymiaru!" << endl;
- ////////////////////////////////////////////////////////////////
- cout << endl << "Podaj liczbe przez ktora chcesz pomnozyc elementy macierzy nr 1: " << endl;
- cin >> f;
- cout << endl << "Nowa macierz: " << endl;
- pierwsza.przezliczbe(f);
- ////////////////////////////////////////////////////////////////
- pierwsza.zapiszplik();
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement