Как записать массив в файл, что добавить? - 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].
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д