PDA

Tam Sürümünü Görmek İçin : acil Yardim lutfen. matris carpimi


berkay1986
15/12/2006, 00:46
selamlar arkadaslar, matris carpimi yapan bir program yaziyorum. n * n seklindeki 2 matrisi carpmaya yarayan, uc fonksiyonu olan bir sinif,
fonk1. x-y-k dongusune gore ("x yatay , y dikey", anlaminda)
fonk2. k-x-y dongusune gore
fonk 3. blok matris carpimi yapan bir fonksiyon.

//fonk1.
for (x=0; x<n; x++)
{
for (y=0; y<n; y++)
{
toplam = 0.0;
for (k=0; k<n; k++)
sum += a[x][k] * b[k][y];
c[x][y] = toplam;
}
}



fonk2.

for (k=0; k<n; k++)
{
for (x=0; x<n; x++)
{
m = a[x][k];
for (y=0; y<n; y++)
c[x][y] += m * b[k][y];
}
}

//fonks3.for (x=0; x<n; x++) {
for (y=yy; y < min(yy+bboyut,n); y++) {
toplam = 0.0
for (k=kk; k < min(kk+bboyut,n); k++) {
toplam += a[x][k] * b[k][y];
}
c[x][y] += toplam;
}



hoca bu sekilde yapilmasini istiyor ondan bu formatta yazdim. ucuncu fonksiyonu da ekleyip bir sinif icine entegre etmem lazim fakat beceremedim.
soyle ki
class matris_carpim()
{
int a,b,c,m,x,y toplam...
....
.....
........
cons;
decons;
fonk1();
fonk2();
fonk3();
operator overload;()
copy constructor{};
..
..
}
..
..

bu formatta yazmaya calisiyorum. main fonskyonda [1,2,3 3,5,7] gibi bi matris verdigimizde, uc ayri sekilde hesaplayip bassin ekrana istiyorum. 2 gun icinde bitmesi lazim fakat bu halde olacak gibi degil.ilgilenirseniz cok sevinirim cok tesekkurler.


Revne
15/12/2006, 10:48
#define N 3

class Matris
{
private:
double A[N][N];
double B[N][N];
public:
Matris ();
~Matris();
public:
void fonk1(double *c);
void fonk2(double *c);
void fonk3(double *c);
};

Matris::Matris()
{
//Burada A ve B matrislerini doldur
}

Matris::~Matris()
{

}

void Matris::fonk1(double *c)
{
//fonk1 işlemleri getirilecek
}
void Matris::fonk2(double *c)
{
//fonk2 işlemleri getirilecek
}
void Matris::fonk3(double *c)
{
//fonk3 işlemleri getirilecek
}

Kolay Gelsin

Revne
15/12/2006, 10:50
Bu arada Matris boyutu icin NXN diorsun fakat matrisleri carparken sadece 3X3 matrislere gore yazıyorsun..
NXN matrisleri carpimiyla alakalı biraz daha bak derim ben...

Kolay Gelsin..