U stvari kada unesem recimo matricu 4X4 on mi opet krazi broj vrsta i kolona za novu matricu i ne mogu da izadjem iz editora za unos. Evo i celog mog resenja:
Code:
/* cprim22.c Mnozenje matrica,prethodno je pomocu typedef
uveden tip dvoniz,tj. matrica.Date su i procedure
upisa i ispisa. */
/* INCLUDE fajle */
#include <stdio.h>
/* UVEDENI TIPOVI */
typedef float dvoniz[10][10];
/* NAJAVE FUNKCIJA */
void upis(dvoniz a,int *vrsta,int *stub);
void ispis(dvoniz a,int vrsta,int stub);
void pomnozi(dvoniz a,dvoniz b,dvoniz c,int vrsta1,int stub1,int stub2);
void main()
{ int vrsta1,stub1,vrsta2,stub2;
dvoniz a,b,c;
upis(a,&vrsta1,&stub1);
upis(b,&vrsta2,&stub2);
if (stub1!=vrsta2) printf("Nemoguc slucaj ");
else
{
pomnozi(a,b,c,vrsta1,stub1,stub2);
ispis(c,vrsta1,stub2);
}
}
/* UPIS red za redom dajemo clanove. */
void upis(dvoniz a,int *vrsta,int *stub)
{ int i,j;float x;
printf("\nDaj broj vrsta i stubaca ");
scanf("%d%d",vrsta,stub);
printf("A sada upisujemo \n");
for (i=1;i<=*vrsta;i++)
for (j=1;j<=*stub;j++)
{ printf("Daj %d %d-clan : ",i,j);
scanf("%f",&x);a[i][j]=x; }
printf("\n");
}
/* ISPIS */
void ispis(dvoniz a,int vrsta,int stub)
{ int i,j;
printf("To je matrica \n");
for (i=1;i<=vrsta;i++)
{printf("\n");
for (j=1;j<=stub;j++)
printf(" %f ",a[i][j]);}
printf("\n");
}
/* POMNOZI */
void pomnozi(dvoniz a,dvoniz b,dvoniz rez,
int vrsta1,int stub1,int stub2)
{int i,j,k;
for (i=1;i<=vrsta1;i++)
for (j=1;j<=stub2;j++)
{rez[i][j]=0;
for(k=1;k<=stub1;k++)
rez[i][j]=rez[i][j]+a[i][k]*b[k][j];}
}
Unapred hvala