[C++] Klasa reprezentująca macierz
-
tomek1995
- Użytkownik

- Posty: 11
- Rejestracja: 12 kwie 2015, o 15:51
- Płeć: Mężczyzna
- Lokalizacja: Bydgoscz
[C++] Klasa reprezentująca macierz
Witam musze zrobić takie coś.Czy macie jakiś pomysł jak to zrobić?
konstruktor domyślny - można zastąpić następnym
konstruktor z dwoma parametrami
konstruktor kopiujący
destruktor
metoda wypelnijZerami
metoda wypelnijJedynkami
metoda wypelnijLosowo
metoda wyswietl
konstruktor domyślny - można zastąpić następnym
konstruktor z dwoma parametrami
konstruktor kopiujący
destruktor
metoda wypelnijZerami
metoda wypelnijJedynkami
metoda wypelnijLosowo
metoda wyswietl
Ostatnio zmieniony 12 kwie 2015, o 16:14 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
-
tomek1995
- Użytkownik

- Posty: 11
- Rejestracja: 12 kwie 2015, o 15:51
- Płeć: Mężczyzna
- Lokalizacja: Bydgoscz
[C++] Klasa reprezentująca macierz
no jest taki problem,że mam podanego maina
i do niego muszę zrobić dwa pliki
Kod: Zaznacz cały
cout<<"macierze"<<endl;
Macierz i(2,3);
Macierz j(2,3);
Macierz k(3,2);
Macierz macierz(-1,0);
macierz.wyswietl();
i.wypelnijJedynkami();
j.wypelnijJedynkami();
k.wypelnijJedynkami();
//wyswietl powinna byc metoda const
(i+j).wyswietl();
(i-j+i).wyswietl();
i=j;
j+=i;
j.wyswietl();
i.wyswietl();
(i*k).wyswietl();
cout<<"Złe wymiary"<<endl;
(k*k).wyswietl();
cout<<"Macierz losowa"<<endl;
i.wypelnijLosowo();
i.wyswietl();
cout<<"Błąd alokacji"<<endl;
Macierz m(1000000,1000000);
m.wyswietl();
return 0;macierz.h macierz.cpp ale nie mam pojecia co do czego ;/
Ostatnio zmieniony 12 kwie 2015, o 16:58 przez bartek118, łącznie zmieniany 1 raz.
Powód: Kod umieszczaj w tagach [code]
Powód: Kod umieszczaj w tagach [code]
-
tomek1995
- Użytkownik

- Posty: 11
- Rejestracja: 12 kwie 2015, o 15:51
- Płeć: Mężczyzna
- Lokalizacja: Bydgoscz
[C++] Klasa reprezentująca macierz
Kod: Zaznacz cały
class Macierz
{
private:
int m;
int n;
double**tablica
public:
Macierz();
Macierz(int _m);
Macierz(int m);
Macierz(int n);
};
Ostatnio zmieniony 12 kwie 2015, o 18:43 przez bartek118, łącznie zmieniany 1 raz.
Powód: Ponownie: kod umieszczaj w tagach!
Powód: Ponownie: kod umieszczaj w tagach!
-
gryxon
- Użytkownik

- Posty: 311
- Rejestracja: 30 gru 2011, o 02:21
- Płeć: Mężczyzna
- Lokalizacja: Puławy
- Podziękował: 11 razy
- Pomógł: 53 razy
[C++] Klasa reprezentująca macierz
Jako, że operujemy na tablicy alokowanej dynamicznie to przydałby się także konstruktor kopiujący.bartek118 pisze:Konstruktory są źle zrobione. Ma być bezargumentowyMacierz()i dwuargumentowyMacierz(int _n, int _m)
W pliku .h powinny być deklaracje metod itp, natomiast w pliku .cpp ich implementacje.
-
tomek1995
- Użytkownik

- Posty: 11
- Rejestracja: 12 kwie 2015, o 15:51
- Płeć: Mężczyzna
- Lokalizacja: Bydgoscz
[C++] Klasa reprezentująca macierz
Kod: Zaznacz cały
class Macierz
{
Macierz(int x, int y);
Macierz(const Macierz&);
Macierz& operator=(Macierz&);
Macierz& operator+(Macierz&);
Macierz& operator-(Macierz&);
Macierz& operator*(Macierz&);
Macierz& operator*(int);
Macierz& operator+=(Macierz&);
Macierz& operator-=(Macierz&);
void wyswietl();
void wypelnijJedynakmi();
void wypelnijLosowo();
~Macierz();
};-
tomek1995
- Użytkownik

- Posty: 11
- Rejestracja: 12 kwie 2015, o 15:51
- Płeć: Mężczyzna
- Lokalizacja: Bydgoscz
[C++] Klasa reprezentująca macierz
Kod: Zaznacz cały
#include "macierz.h"
#include "liczbazespolona.h"
#include <iostream>
using namespace std;
Macierz::~Macierz()
{
LiczbaZespolona=new double*[x];
for (int i=0;i<x;i++)
{
LiczbaZespolona[i]=new double[y];
for(int j=0;j<y;j++)
LiczbaZespolona[i][j]=i*x+j+1;
}
}
void Macierz::wyswietl()
{
for(int i=0;i<x;i++)
{
for(int j=0;j<x;j++)
cout<<LiczbaZespolona[i][j]<<" ";
cout<<endl;
}
}
Macierz::~Macierz()
{
for(int i=0;i<x;i++)
delete []LiczbaZespolona[i];
delete []LiczbaZespolona;
}
Kod: Zaznacz cały
Macierz::Macierz(const Macierz& a):
{
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
LiczbaZespolona[i][j] = LiczbaZespolona[i][j];
}
}
Macierz::Macierz(int x, int y)
{
m=x;
n=y;
tablica=new double*[m];
for(int i =0 ; i<n;i++)
t[i]=new double[m];
for (int i=0;i<n;i++)
for(int j=0; j<m;j++)
t[i][j]=0;
}
konstruktor kopiujący i operator przypisania czy tak ma wyglądać?