#include <stdio.h> #include<conio.h> #include<stdlib.h> int **Tworzenie( int wiersze, int kolumny); int zapisz(int **MacierzC, int wiersze, int kolumny); int main() { FILE *macierzA; macierzA = fopen("A.txt","r"); int z,temp; temp=0; int wiersze=0; WHILE ((fscanf(macierzA,"%c",&z))!= EOF) { IF (z == '\n') { wiersze++; } } rewind(macierzA); int e =0; int kolumny=0; WHILE ((fscanf(macierzA,"%lf",&temp))!= EOF) { e++; } rewind(macierzA); kolumny=e/ wiersze; int **MacierzA; MacierzA = Tworzenie(wiersze, kolumny); printf("%d %d" ,wiersze,kolumny); getch(); int i, j; FOR (i=0;i<wiersze;i++) { FOR (j=0;j<kolumny;j++) { IF ((fscanf(macierzA,"%lf",&temp))!= EOF) { MacierzA[i][j] = temp; } ELSE { printf("\nBrak pliku. Program konczy dzialanie\n"); getch(); EXIT(1); } } printf("\n"); } fclose(macierzA); int wiersze1=0; FILE *macierzB; macierzB = fopen("B.txt","r"); int z1,temp1; temp1=0; WHILE ((fscanf(macierzB,"%c",&z1))!= EOF) { IF (z1 == '\n') { wiersze1++; } } rewind(macierzB); int e1 =0; int kolumny1=0; WHILE ((fscanf(macierzB,"%lf",&temp1))!= EOF) { e1++; } rewind(macierzB); kolumny1=e1/ wiersze1; int **MacierzB; MacierzB = Tworzenie(wiersze1, kolumny1); int i1, j1; FOR (i1=0;i1<wiersze1;i1++) { FOR (j1=0;j1<kolumny1;j1++) { IF ((fscanf(macierzB,"%lf",&temp1))!= EOF) { MacierzB[i1][j1] = temp1; } ELSE { printf("\nBrak pliku. Program konczy dzialanie\n"); getch(); EXIT(1); } } printf("\n"); } fclose(macierzB); printf("%d %d",wiersze1,kolumny1); getch(); int **MacierzC; MacierzC = Tworzenie(wiersze1, kolumny1); FOR(i=0;i<wiersze;i++){ FOR(j=0;j<kolumny;j++){ MacierzC[i][j]=MacierzA[i][j]+MacierzB[i][j]; } } zapisz(MacierzC,wiersze,kolumny); } int **Tworzenie( int wiersze, int kolumny){ int **Macierz; int i, j; IF((Macierz=(int**)malloc(wiersze*sizeof(int*)))==NULL){ printf("Nie przydzielono pamieci"); RETURN (NULL); } FOR(i=0; i<wiersze; i++){ IF((Macierz[i]=(int*)malloc(kolumny*sizeof(int)))==NULL){ printf("Nie przydzielono pamieci"); RETURN (NULL); } } FOR(i=0; i<wiersze; i++){ FOR(j=0; j<kolumny; j++){ Macierz[i][j]=0; } } RETURN (Macierz); } int zapisz(int **MacierzC, int wiersze, int kolumny) { FILE *macierzC; macierzC = fopen("C.txt","w"); int i,j; FOR (i=0;i<wiersze;i++) { FOR (j=0;j<kolumny;j++) { fprintf(macierzC,"%.2lf ",MacierzC[i][j]); } fprintf(macierzC,"\n"); } fclose(macierzC); }