[C] Mnożenie macierzy.

BlackMath
Użytkownik
Użytkownik
Posty: 4
Rejestracja: 3 paź 2012, o 18:39
Płeć: Mężczyzna
Lokalizacja: Gdynia

[C] Mnożenie macierzy.

Post autor: BlackMath »

Cześć, mam napisać program w C mnożący macierze o zadanych wymiarach. Macierze są wypełnione wylosowanymi liczbami.

Kod: Zaznacz cały

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  srand(time(NULL));
  int i,j,k,a,b,c,d;
  printf("
Mnozenie macierzy o zadanych wymiarach : " );
  do{
      printf("
Podaj ilosc wierszy macierzy 1:");
      k=scanf("%d",&a);
      fflush(stdin);
      }while(k==0||a<1);
  
  do{
      printf("
Podaj ilosc kolumn macierzy 1:");
      k=scanf("%d",&b);
      fflush(stdin);
      }while(k==0||b<1);
  
  int m1[a][b];
      
  printf("
Macierz 1:");
  
  for(i=0;i<a;i++)
  for(j=0;j<b;j++)
{
  m1[i][j]=rand()%10;
  printf("
m1[%d][%d]=%d",i,j,m1[i][j]);
}
 
  do{
      printf("
Podaj ilosc wierszy macierzy 2:");
      k=scanf("%d",&c);
      fflush(stdin);
      }while(k==0||c<1);
   
  do{
      printf("
Podaj ilosc kolumn macierzy 2:");
      k=scanf("
%d",&d);
      fflush(stdin);
      }while(k==0||d<1);
  
  int m2[c][d];
  
  printf("
Macierz 2:");
  
  for(i=0;i<c;i++)
  for(j=0;j<d;j++)
  {
  m2[i][j]=rand()%10;
  printf("
m2[%d][%d]=%d",i,j,m2[i][j]);    
}                 
 
printf("
Mnozenie macierzy:");

int m3[a][d],g,temp=0;


if(a==d)
{
        for(i=0;i<a;i++)
        for(j=0;j<d;j++){
        {
        m3[i][j]=0;
        for(g=0;g<c;g++)
        m3[i][j]=m3[i][j]+m1[i][g]*m2[g][j];
        }
        }
for(i=0;i<a;i++)
for(j=0;j<b;j++)
  printf("
%a[%d][%d]=%d",i,j,m3[i][j]);

temp=1;
}
if(temp==0) printf("
Nie mozna wykonac mnozenia");

  system("PAUSE");	
  return 0;
}
Jak na razie wyskrobałem coś takiego. Gdzieś jest błąd i nie mogę się go doszukać. Macie może jakieś sugestie?
Ostatnio zmieniony 14 paź 2012, o 10:00 przez Afish, łącznie zmieniany 2 razy.
Powód: Poprawa wiadomości.
Awatar użytkownika
lackiluck1
Użytkownik
Użytkownik
Posty: 205
Rejestracja: 20 lis 2009, o 08:41
Płeć: Mężczyzna
Lokalizacja: Wola
Podziękował: 6 razy
Pomógł: 44 razy

[C] Mnożenie macierzy.

Post autor: lackiluck1 »

Mnożenie macierzy zdefiniowane jest wyłącznie dla macierzy, z których pierwsza ma tyle kolumn, co druga wierszy, tzn powinno być:
if(b==c)
ODPOWIEDZ