Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <locale.h>
- #define l 2 // количество строк и столбцов в квадратной матрице
- #define D 10 // диапазон до 10
- int main(void)
- {
- FILE*F1; FILE*F2;
- short n, i, k, j, detA = 0; // n - количество матриц; i - счётчик строк; j - счётчик столбцов; k - счётчик количества матриц; max - макс эл матрицы; min - мин эл матрицы; detA - определитель матрицы;
- int R[l][l];
- int max, min;
- char c;
- setlocale(LC_ALL, "Rus");
- printf("Введите n: ");
- scanf_s("%d", &n);
- srand(time(NULL));
- errno_t fil;
- fil = fopen_s(&F1, "F1.txt", "w");
- if (fil != NULL)
- printf("Ошибка при создании файла F1!\n");
- else
- {
- for (k = 0; k < n; k++) // создаём несколько матриц lхl
- {
- for (i = 0; i < l; i++) // создаём матрицу из случайных элементов в диапазоне от 0 до 10
- {
- for (j = 0; j < l; j++)
- {
- R[i][j] = rand() % D;
- fprintf(F1, "%d\t", R[i][j]);
- }
- fprintf(F1, "\n\n");
- }
- fprintf(F1, "\n\n");
- }
- fclose(F1);
- fil = fopen_s(&F1, "F1.txt", "r"); // считываем из файла F1 данные
- if (fil != NULL)
- printf("Ошибка при открытии файла F1!\n");
- else
- {
- fil = fopen_s(&F2, "F2.txt", "w");
- if (fil != NULL)
- printf("Ошибка при создании файла F2!\n");
- else
- {
- for (k = 0; k < n; k++) // переписываем несколько матриц lхl из файла F1
- {
- max = -INT_MAX;
- min = INT_MAX;
- for (i = 0; i < l; i++)
- {
- for (j = 0; j < l; j++)
- {
- c = fgetc(F1); //получаем очередной элемент
- if ((c != '\t') && (c != '\n')) // если элемент не равен концу строки или табуляции - записываем его в массив
- {
- R[i][j] = c - 48;
- if (R[i][j] > max)
- max = R[i][j];
- if (R[i][j] < min)
- min = R[i][j];
- }
- else if ((c == '\t') || (c == '\n')) // если элемент равен концу строки или табуляции - отнимаем счётчик столбца, чтобы пробел не считался элементом массива
- {
- j = j - 1;
- }
- fputc(c, F2); // записываем элемент в файл F2
- }
- }
- if (l == 2)
- {
- detA = (R[0][0] * R[1][1]) - (R[1][0] * R[0][1]);
- }
- else if (l == 1)
- detA = R[i][j];
- else if (l == 3)
- detA = ((R[0][0] * R[1][1] * R[2][2]) + (R[0][1] * R[1][2] * R[2][0]) + (R[0][2] * R[1][0] * R[2][1])) - ((R[0][2] * R[1][1] * R[2][0]) + (R[0][1] * R[1][0] * R[2][2]) + (R[0][0] * R[1][2] * R[2][1]));
- fprintf(F2, "\n");
- fprintf(F2, "Max= %d\n", max);
- fprintf(F2, "Min= %d\n", min);
- fprintf(F2, "detA= %d\n", detA);
- }
- fclose(F1);
- fclose(F2);
- printf("Изменения файла F2 успешно применены.\n");
- }
- printf("Изменения файла F1 успешно применены.\n");
- }
- }
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement