[C++] Mnożenie macierzy

WaldekChlor
Użytkownik
Użytkownik
Posty: 26
Rejestracja: 24 gru 2010, o 00:09
Płeć: Mężczyzna
Podziękował: 7 razy
Pomógł: 1 raz

[C++] Mnożenie macierzy

Post autor: WaldekChlor »

Witam, czy ktoś mógłby mi pomóc w moich zmaganiach z C++? Chodzi o macierze, a konkretniej fragment kodu, który je mnoży. Nie mam pomysłu co wstawić w miejsce gdzie są znaki zapytania. Gdyby ktoś był dobry i wytłumaczył na jakich zasadach się to robi to będę wdzięczny. Czy do mnożenia potrzebny jest dodatkowy for?

Kod: Zaznacz cały

#include<iostream>
#include<ctime>
#include<cmath>

using namespace std;

int main()

{

       const int w=3;
       const int k=3;



       int*a=new int[w*k];
       int*t=new int[w*k];
       int*b=new int[w*k];
       int*c=new int[w*k];
       int*y=new int[w];
       int*x=new int[k];


       cout<<"MACIERZ A"<<endl;

       for (int i=0; i<w; i++)
       {
               for (int j=0; j<k; j++)
               {
               a[j+i*k]=rand()%10;
               cout<<a[j+i*k]<< " ";

                       if( j==k-1)
                               cout<<endl;

                       x[j] = j;
               }


       }

       cout<<"MNOZENIE PRZEZ WEKTOR"<<endl;


       for (int i=0; i<w; i++)
       {
               y[i]=0;
               for (int j=0; j<k; j++)
               {
                       y[i]=y[i]+a[i*k+j]*x[j];
               }
               cout<<y[i]<<endl;

       }


       cout<<"A TRANSPONOWANE"<<endl;

       for (int i=0; i<w; i++)
       {
               for (int j=0; j<k; j++)

       {

               cout<<a[i+j*k]<< " ";

                       if( j==k-1)
                               cout<<endl;

       }
       }

       cout<<"MACIERZ B"<<endl;

       for (int i=0; i<w; i++)
       {
               for (int j=0; j<k; j++)
               {
               b[j+i*k]=rand()%10;
               cout<<b[j+i*k]<< " ";

                       if( j==k-1)
                               cout<<endl;

                       x[j] = j;
               }


       }




        cout<<"MNOZENIE MACIERZY"<<endl;


       for (int i=0; i<w; i++)
       {
           
               for (int j=0; j<k; j++)
               {
                   
               c[j+i*k]=0;
               
               
                       c[j+i*k]=(????????????????);
               
               
               cout << c[j+i*k] << " ";
               
               if( j==k-1)
                               cout<<endl;
               
               }

       }








       system("PAUSE");
       return 0;
}

Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[C++] Mnożenie macierzy

Post autor: Afish »

No bez trzeciego fora może być ciężko.
Awatar użytkownika
mcbob
Użytkownik
Użytkownik
Posty: 479
Rejestracja: 15 gru 2008, o 19:02
Płeć: Mężczyzna
Lokalizacja: Poland
Pomógł: 69 razy

[C++] Mnożenie macierzy

Post autor: mcbob »

https://www.matematyka.pl/56375.htm
Tu chyba był gotowy kod, wystarczy lekko przerobić (bo macierze masz w tablicach jednowymiarowych).
ODPOWIEDZ