Как записать массив в файл, что добавить? - C (СИ)
Формулировка задачи:
Листинг программы
- #define _CRT_SECURE_NO_WARNINGS
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include<windows.h>
- #define S 80
- #define F 50
- void write_file(char name[F]);
- int main(void)
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- char fname[F];
- printf("Введiтьiм'я файлу:\n");
- scanf("%s%*c", &fname);
- write_file(fname);
- return 0;
- }
- void write_file(char name[F])
- {
- int str[10][S];
- FILE *fp;
- if ((fp = fopen(name, "w+")) == NULL) {
- printf("Помилка при вiдкриттi файлу.\n");
- exit(1);
- }
- int i, j, x, min, temp, A[6][9];
- srand(time(NULL));
- for (i = 0; i < 6; i++, putchar('\n'))
- {
- for (j = 0; j < 9; j++)
- printf("%4d", A[i][j] = rand() % 999);
- fprintf(fp, " %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n", A[0][0], A[0][1], A[0][2], A[0][3], A[0][4], A[0][5], A[0][6], A[0][7], A[0][8], A[1][0], A[1][1], A[1][2], A[1][3], A[1][4], A[1][5], A[1][6], A[1][7], A[1][8], A[2][0], A[2][1], A[2][2], A[2][3], A[2][4], A[2][5], A[2][6], A[2][7], A[2][8], A[2][0], A[2][1], A[2][2], A[2][3], A[2][4], A[2][5], A[2][6], A[2][7], A[2][8], A[3][0], A[3][1], A[3][2], A[3][3], A[3][4], A[3][5], A[3][6], A[3][7], A[3][8], A[3][0], A[3][1], A[3][2], A[3][3], A[3][4], A[3][5], A[3][6], A[3][7], A[3][8], A[4][0], A[4][1], A[4][2], A[4][3], A[4][4], A[4][5], A[4][6], A[4][7], A[4][8]);
- int B = max(A[0][0], A[0][1], A[1][1], A[1][2], A[3][4], A[3][5], A[4][5], A[4][6], A[5][7], A[5][8], A[6][8], A[6][9]);
- printf("%d %d %d %d %d %d %d %d %d %d ", A[0][0], A[0][1], A[1][1], A[1][2], A[3][4], A[3][5], A[4][5], A[4][6], A[5][7], A[5][8], A[6][8], A[6][9]);
- fprintf(fp, "\n%d %d %d %d %d %d %d %d %d %d \n", A[0][0], A[0][1], A[1][1], A[1][2], A[3][4], A[3][5], A[4][5], A[4][6], A[5][7], A[5][8], A[6][8], A[6][9]);
- printf("\n");
- printf("%d ---- MAX element\n", B);
- printf("\n");
- fprintf(fp, "%d ---- MAX element\n", B);
- fclose(fp);
- }
Листинг программы
- srand(time(NULL));
- for (i = 0; i < 6; i++, putchar('\n'))
- {
- for (j = 0; j < 9; j++)
- printf("%4d", A[i][j] = rand() % 999);
Листинг программы
- fprintf(fp, " %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n %4d %4d %4d %4d %4d %4d %4d %4d %4d\n", A[0][0], A[0][1], A[0][2], A[0][3], A[0][4], A[0][5], A[0][6], A[0][7], A[0][8], A[1][0], A[1][1], A[1][2], A[1][3], A[1][4], A[1][5], A[1][6], A[1][7], A[1][8], A[2][0], A[2][1], A[2][2], A[2][3], A[2][4], A[2][5], A[2][6], A[2][7], A[2][8], A[2][0], A[2][1], A[2][2], A[2][3], A[2][4], A[2][5], A[2][6], A[2][7], A[2][8], A[3][0], A[3][1], A[3][2], A[3][3], A[3][4], A[3][5], A[3][6], A[3][7], A[3][8], A[3][0], A[3][1], A[3][2], A[3][3], A[3][4], A[3][5], A[3][6], A[3][7], A[3][8], A[4][0], A[4][1], A[4][2], A[4][3], A[4][4], A[4][5], A[4][6], A[4][7], A[4][8]);
Решение задачи: «Как записать массив в файл, что добавить?»
textual
Листинг программы
- for (i = 0; i < 6; i++, putchar('\n'),fputc('\n', fp)) {
- for (j = 0; j < 9; j++) {
- printf("%4d", A[i][j] = rand() % 999);
- fprintf(fp, "%4d ", A[i][j]);
- }
- }
Объяснение кода листинга программы
- Объявлены две переменные i и j типа int, которые будут использоваться в двух вложенных циклах.
- Внешний цикл for выполняется 6 раз. При каждой итерации внутреннего цикла, формируется строка из 9 чисел, которая будет записана в файл.
- Внутренний цикл for выполняется 9 раз для каждого элемента массива A[i].
- В каждой итерации внутреннего цикла, число из массива A[i][j] выводится на экран с помощью функции printf, и записывается в файл с помощью функции fprintf.
- Каждое число в строке записывается через пробел.
- После каждой строки чисел, в файл записывается символ новой строки '\n'.
- Функция rand() % 999 используется для генерации случайного числа от 0 до 999, которое затем присваивается элементам массива A[i][j].
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д