#include #include int main() { int rowlength,collength; int row=0,col=0; FILE* file; file = fopen("macierz.txt", "r"); printf("Podaj ilosc wierszy "); scanf("%d",&rowlength); printf("Podaj ilosc kolumn "); scanf("%d",&collength); int tab[rowlength][collength], tab1[rowlength][collength]; printf("Elementy w pliku\n\n"); while( fscanf( file, "%d,", &tab[row][col] ) != EOF ) { printf("%d ", tab[row][col]); col++; if(col==3 && row==2) // Ten warunek == wypelnieniem calej tabeli wartoĊ“ciami z 1 macierzy. { printf("\n\n"); row=0; col=0; while( fscanf( file, "%d,", &tab1[row][col] ) != EOF ) { printf("%d ", tab1[row][col]); col++; if(col==3) { printf("\n"); col=0; row++; } } } if(col==3) { printf("\n"); col=0; row++; } } printf("\n"); fclose(file); mnozeniemacierzy(3,3,tab, tab1); return 0; } int mnozeniemacierzy(int n, int m , int tab[n][m],int tab1[n][m]) { int i,j; int tab2[n][m]; printf("Wynik mnozenia pierwszej macierzy przez druga:\n\n"); for(i=0; i<3; i++) { tab2[0][i] = tab[0][0]*tab1[0][i]+tab[0][1]*tab1[1][i]+tab[0][2]*tab1[2][i]; } printf("\n"); for(i=0; i<3; i++) { tab2[1][i] = tab[1][0]*tab1[0][i]+tab[1][1]*tab1[1][i]+tab[1][2]*tab1[2][i]; } printf("\n"); for(i=0; i<3; i++) { tab2[2][i] = tab[2][0]*tab1[0][i]+tab[2][1]*tab1[1][i]+tab[2][2]*tab1[2][i]; } for(i=0; i<3; i++) { for(j=0; j<3; j++) { printf("%d ", tab2[i][j]); } printf("\n"); } zapisywanie(tab2); } void zapisywanie (int tab2[3][3]) { int i,j; FILE* file2; file2 = fopen("wynik.txt", "w"); if(file2==NULL) printf("Nie moge otworzyc!"); //zapisanie do pliku else { fprintf(file2,"Wynik to: \n"); for(i=0; i<3; i++) { for(j=0; j<3; j++) { fprintf(file2,"%d ", tab2[i][j]); } fprintf(file2,"\n"); } fclose(file2); } }