Mno?żenie macierzy

0

Mam problem i mowie <ort>Od razu</ort> ze niegdzie nie ma go rozwiazanego :( musze zrobic mnozenie macierzy lecz nie moge uzywac wskaznikow przydzielac miejsca w pamieci itp ulawiajacych pierdułek.

Oto kawalek kodu dotyczacy mnozenia:

print("Mnozenie - ");
print("\nPodaj liczbe kolumn maciedzy A =\t");
scanf("%d", &a.lk);
print("\nPodaj liczbe wierszy A =\t");
scanf("%d", &a.lw);

for (j=0;j<a.lk;j++)
	{
	   for (i=0;i<a.lw;i++)
		{
			print("Podaj A [%d ; %d] = " ,i,j);
			scanf("%f", &a.elementy[i][j]);
		}
	}

print("\nPodaj liczbe kolumn maciedzy B =\t");
scanf("%d", &b.lk);
print("\nPodaj liczbe wierszy B =\t");
scanf("%d", &b.lw);

	for (j=0;j<b.lk;j++)
	  {
		for (i=0;i<b.lw;i++)
		{
			print("Podaj B [%d ; %d] = " ,i,j);
			scanf("%f", &b.elementy[i][j]);
		}
	}

print("Wynik");
for (j=0;j<b.lk;j++)
{
for (i=0;i<b.lw;i++)
{

	c.elementy[i][j]=a.elementy[i][j]*b.elementy[i][j];
	print("%f" ,c.elementy[i][j]); 
		}
	}

}

Wszystko prawie pieknie lecz przy obliczniu (Wynik)brkuje jeszcze jadnej dodatkowej petli ktora bedzie sie poruszala po elementach wiersza macierzy A i elementach kolumny macierzy B i dodawala do wyniku pomnozone nastepne elemnty. elementy.

Mam jeszcze jeden problem aby przy wyswietlniu wyniku dzielil mi go ladnie wierszami a nie jeden dlugi ciag mysle nad takim rozw.

if ()
print("%f" ,c.elementy[i][j]);
else
print("\n%f" ,c.elementy[i][j]);

tylko warunek mi potrzebny.
Z gory dziekuje za wszelkie wisilki i pomoc. Kazda wskazowka moze byc cenna i spowouje ze dojde do tego jak to zrobic :)

0

Ostatnio pisalem klase macierzy i do mnozenia takie cos wymyslilem i nawet dziala ;)

for (int y=0;y<wynik_wysokosc;y++)
for (int x=0;x<wynik_szerokosc;x++)
for (int i=0;i<macierz1_szerokosc;i++)
wynik[y][x]+=(macierz1[y][i] * macierz2[i][x]);

a do wyswietlania napisalem takie cos:

for (int y=0;y < macierz_wysokosc; y++)
{
	for (int x=0; x < macierz_szerokosc; x++)
        cout << macierz[y][x] << ' ';
	cout << endl;
}

Mam nadzieje ze sie przyda :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1