Zdravím všechnyPotřeboval bych pomoct s programem. Potřebuji vynásobit 2 matice, ale ppořed mi to nefunguje mam v tom trochu chaos dekuji vsem za pomoc.main.c#include <stdio.h>#include <stdlib.h>#include "header.h"int main(){Tmatice matice;Tmatice matrix;Tmatice mat_vys; matrix=read2(); matice=read(); print(matice); printf("\n"); print(matrix); printf("\n"); soucin(matice,matrix); smazat(matice); printm(mat_vys); return 0;}header.h#ifndef HEADER_H_INCLUDED#define HEADER_H_INCLUDEDtypedef unsigned int uint;typedef struct matice{ double **m; int radky; int sloupce;} Tmatice;Tmatice init(int radky,int sloupce);Tmatice read();Tmatice read2();Tmatice soucin();void print(Tmatice m);void printm(Tmatice m);void smazat(Tmatice m);#endif // POLE_H_INCLUDEDfce.c#include "header.h"#include <stdio.h>#include <stdlib.h>Tmatice init(int radky,int sloupce){ double**m=malloc(radky*sizeof(double*)); for(int i=0; i<radky; i++) { m[i]=malloc(sloupce*sizeof(double)); } Tmatice matice= {.m=m,.radky=radky,.sloupce=sloupce}; return matice;}Tmatice read2(){ int radky,sloupce; FILE* f = fopen("matice2.txt","r");… if(f==NULL) printf("Nepodarilo se otevrit."); if(fscanf(f,"%d %d",&radky,&sloupce)!=2||radky<1||sloupce<1) printf("Chyba v parametrech"); Tmatice matrix = init(radky,sloupce); for(int r=0; r<radky; r++) { for(int s=0; s<sloupce; s++) fscanf(f,"%lf",&matrix.m[r][s]); }return matrix;}Tmatice read(){ int radky,sloupce; FILE* f = fopen("matice.txt","r"); if(f==NULL) printf("Nepodarilo se otevrit."); if(fscanf(f,"%d %d",&radky,&sloupce)!=2||radky<1||sloupce<1) printf("Chyba v parametrech"); Tmatice m = init(radky,sloupce); for(int r=0; r<radky; r++) { for(int s=0; s<sloupce; s++) fscanf(f,"%lf",&m.m[r][s]); }return m;}void print(Tmatice m){ for(int radky=0; radky<m.radky; radky++) { for(int sloupce=0; sloupce<m.sloupce; sloupce++) { printf("%g ",m.m[radky][sloupce]); } printf("\n"); }}void printm(Tmatice m){ for(int radky=0; radky<m.radky; radky++) { for(int sloupce=0; sloupce<m.sloupce; sloupce++) { printf("%g ",m.m[radky][sloupce]); } printf("\n"); }}Tmatice soucin(Tmatice m){ Tmatice mat_vys = init(m.radky,m.sloupce); for(int r; r<m.radky;r++) { for(int s; s<m.sloupce;s++) { mat_vys.m[r][s]=mat_vys.m[r][s] + m.m[r][s]*m.m[s][r]; } } return mat_vys;}void smazat(Tmatice m){ for(int i; i< m.radky;i++) free(m.m[i]);}Dekuji za rady. Ukázat celý příspěvek