Dodaj do ulubionych

macierz na klasach

30.05.05, 12:31
Witam, mam taki problem, napisalem taki programik do obliczeń na macierzach,
(troche w nim bałaganu) ale potrzebuje mniej wiecej to samo zrobić na
klasach, i tu jest problem bo nie bardzo je rozumiem. Jak mój program
wpakowac do klasy, jak sie za to zabrac, te konstruktory itp:
A oto ten mój programik:

#include <iostream.h>
#include <conio.h>
#include<iomanip>
//--------------------------------------------------------------------------
main()
{
//--------------------------------------------------------------------------
/****ustalenie wielkosci i tworzenie macierzy kwadratowych****/

int w, k, D;

cout<<"Podaj wielkosc macierzy kwadratowych A i B: ";
cin>>w;
k=w;

float **A;
A = new float *[w];

cout<<"\n\n-------------------\n";
cout<<"Tworzenie macierzyA:\n";
cout<<"-------------------\n\n";

for(int i=0; i<w; i++)
{
A[i] = new float [k];
for(int j=0; j<k; j++)
{
cout<<"Podaj wartosc ["<<(i+1)<<","<<(j+1)<<"]: ";
cin>>A[i][j];

}

}

for(int i=0; i<w; i++ , cout<<endl)
for(int j=0; j<k; j++)
cout<<setw(3)<<A[i][j];



float **B;
B = new float *[w];

cout<<"\n\n-------------------\n";
cout<<"Tworzenie macierzyB:\n";
cout<<"-------------------\n\n";

for(int i=0; i<w; i++)
{
B[i] = new float [k];
for(int j=0; j<k; j++)
{
cout<<"Podaj wartosc ["<<(i+1)<<","<<(j+1)
<<"]: ";
cin>>B[i][j];

}

}

for(int i=0; i<w; i++ , cout<<endl)
for(int j=0; j<k; j++)
cout<<setw(3)<<B[i][j];

/*---------------------------------------------------------------------------
*/
cout<<"zerwanie macierzy C"<<endl;

float **C;
C = new float *[w];

for(int i=0; i<w; i++)
{
C[i] = new float [k];
for(int j=0; j<k; j++)
{

C[i][j]=0;

}

}


for(int i=0; i<w; i++ , cout<<endl)
for(int j=0; j<k; j++)
cout<<setw(3)<<C[i][j];



//---------------------------------------------------------

cout<<"wyswietlanie macierzy C=A+B"<<endl;




for(int i=0; i<w; i++, cout<<endl)
for(int j=0; j<k; j++)
C[i][j]=A[i][j]+B[i][j];

for(int i=0; i<w; i++ , cout<<endl)
for(int j=0; j<k; j++)
cout<<setw(3)<<C[i][j];
//---------------------------------------------------------
cout<<"wyswietlanie macierzy C=A*B"<<endl
<<endl ;
cout<<"wyzerowanie macierzy C:"<<endl;
for(int i=0; i<w; i++ , cout<<endl) //zerowanie
for(int j=0; j<k; j++)
C[i][j]=0;
cout<<endl;

for(int i=0; i<w; i++ , cout<<endl) //
for(int j=0; j<k; j++)
cout<<setw(3)<<C[i][j];

cout<<"macierz przemnożona:"<<endl;
//Mnozenie macierzy
for(int i=0;i<w;i++)//wiersze macierzy A
for(int j=0;j<k;j++)//kolumny macierzy B
for(int s=0;s<k;s++)//kolumny macierzy A=wiersze macierzy B
C[i][j]=C[i][j]+A[i][s]*B[s][j];



for(int i=0; i<w; i++ , cout<<endl)
for(int j=0; j<k; j++)
cout<<setw(3)<<C[i][j];



getch();
}
//---------------------------------------------------------------------------
Obserwuj wątek

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka