bool TryReadFile(int**m, int &sizea, int &sizeb, char* path) { FILE* f = fopen(path, "r"); if (f) { fscanf(f, "%d\n", &sizea); if (sizea <= MAX_S) { fscanf(f, "%d\n", &sizeb); if(sizeb <= MAX_S) { int counter = 0; for (int i = 0; i < sizea && !feof(f); ++i) { for (int j = 0; j < sizeb && !feof(f); ++j) { fscanf(f, "%d", &m[i][j]); ++counter; } fscanf(f, "\n"); } fclose(f); return counter == sizea*sizeb; } } fclose(f); } return false; } bool WriteMatrixToFile(int **m, int &sizea, int& sizeb, char* path) { FILE *f = fopen(path, "w"); if (f) { fprintf(f, "%d\n", sizea); if (sizea <= MAX_S) { fprintf(f, "%d\n", sizeb); if(sizeb <= MAX_S) { int counter = 0; for (int i = 0; i < sizea && !feof(f); ++i) { for (int j = 0; j < sizeb && !feof(f); ++j) { fprintf(f, "%d", m[i][j]); ++counter; } fprintf(f, "\n"); } } } fclose(f); } return false; }