[ chalka @ 10.12.2005. 12:45 ] @
molim za pomoc oko rijesavanja ovog zadatka pokusao sam rijesiti sve ok ali glavna formula ne valja i ispis matrice c pojave se neki veliki(ogromni) brojevi sta nevalja i molim vas recite mi kako da ovdje ubacim kod programa da bude fino napisan kao u c-u a ne ovako da bude zbijen uz lijevu stranu zadatak glasi: 1. Napisati C program koji će učitati dimenzije (RA x KA) realne matrice A (maksimalno 10 x 10) , dimenzije (RB x KB) realne matrice B (maksimalno 10 x 10), te učitati elemente tih matrica. Program zatim treba izračunati matricu C koja je proizvod matrica A i B. Na kraju program treba ispisati sve tri matrice: A, B i C. - RA, RB označavaju broj redova matrica A i B, respektivno; - KA, KB označavaju broj kolona matrica A i B, respektivno. Prilikom unosa dimenzija matrica program treba provjeriti da li su unesene dimenzije u dozvoljenim granicama, tj. da li je RA<=10, RB<=10, KA<=10, KB<=10, te isto tako program treba provjeriti da li se matrice mogu množiti, tj. da li je ispunjeno: KA=RB moj pokusaj: #include <stdio.h> int main() { /*deklaracija polja i varijabli*/ int A[10][10],B[10][10],C[10][10],i,j,k,m,RA,KA,RB,KB,RC,KC; /*unos dimenzije matrica*/ do { printf("\nUnesite dimenzije prve matrice: "); scanf("%d %d", &RA,&KA); printf("\nUnesite dimenzije druge matrice: "); scanf("%d %d", &RB,&KB); }while (RA<1||RA>10||RB<1||RB>10||KA<1||KA>10||KB<1||KB>10); /*uslov za mnozenje matrica*/ if (KA==RB) { /*Unos matrice A*/ for (i=0;i<RA;i++) { for(j=0;j<KA;j++) { printf("\nUnesite element [%d][%d] matrice A: ", i,j); scanf("%d", &A[j]); } } /*Unos matrice B*/ for (i=0;i<RB;i++) { for(j=0;j<KB;j++) { printf("\nUnesite element [%d][%d] matrice B: ", i,j); scanf("%d", &B[j]); } } /*izracubavanje matrice C i ucitavanje njenih vrijednosti*/ m=0; for(i=0;i<RA;i++) { for(k=0;k<KA;k++) { for(j=0;j<KB;j++) { m+=A[j]*B[j][k]; } C[k]=m; } } /*ispis matric A*/ printf("\nMatrica A igleda ovako:\n"); for(i=0;i<RA;i++) { for(j=0;j<KA;j++) { printf("%6d", A[j]); } printf("\n"); } printf("\n"); /*ispis matric B*/ printf("\nMatrica B igleda ovako:\n"); for(i=0;i<RB;i++) { for(j=0;j<KB;j++) { printf("%6d", B[j]); } printf("\n"); } printf("\n"); /*ispis matric C*/ printf("\nMatrica C igleda ovako:\n"); for(i=0;i<RA;i++) { for(j=0;j<KB;j++) { printf("%6d", C[j]); } printf("\n"); } printf("\n"); } else { printf("\nOve matrice nisu ulancene"); printf("\njer dimenzije koje ste unijeli ne dozvoljavaju njihovo mnozenje"); printf("\nzbog toga sto broj kolona prve matrice nije jednak broju vrsta druge mantrice!\n"); } return 0; } |