Получить в файле g все компоненты файла f которые делятся на m и делятся на n - C (СИ)
Формулировка задачи:
Заполнить A файл последовательного доступа f целыми числами полученными с помощью генератора случайных чисел получить в файле g все компоненты файла f которые делятся на m и делятся на n.
и ещё нужно подробное описание следующей программы. (всех операторов)
#include <stdio.h> void main() { FILE *file; char* file_name = "file.txt"; const int N = 10; int prod = 1, arr[N]; if ((file = fopen( file_name, "w" )) == NULL) printf ("Error in opening file for writing!"); else { printf ("Enter numbers: \n"); for (int i=0; i<N; i++) { scanf("%d", &arr[i]); fprintf (file, "%d ", arr[i]); } fclose( file ); } if((file = fopen( file_name, "r" )) == NULL) printf ("Error in opening file for reading!"); else { int i=0; while (!feof(file)) { fscanf(file, "%d ", &arr[i]); prod *= arr[i++]; } } printf ("Product of these numbers: %d \n\n", prod); }
Решение задачи: «Получить в файле g все компоненты файла f которые делятся на m и делятся на n»
textual
Листинг программы
#include "stdio.h" #include "time.h" #include "windows.h" int main(void) { FILE *file; if(file = fopen("f.txt","w")) { //Пишем в f srand(time(NULL)); int n = rand()%100; for(int i = 0 ; i < n ; i++) fprintf(file,"%d ",rand()%100); fclose(file); if(file = fopen("f.txt","r")) { FILE* file2 = fopen("g.txt","w"); int m; if(file2) { printf("Введите n и m: "); scanf("%d%d",&n,&m); while(!feof(file)) { int tmp; fscanf(file,"%d",&tmp); if( !(tmp % n) && !(tmp % m) ) fprintf(file2,"%d ",tmp); } fclose(file); fclose(file2); } else printf("Ошибка создания файла g"); } else printf("Ошибка открытия файла f"); } else printf("Ошибка создания файла f"); return 0; }
Объяснение кода листинга программы
- Подключаются необходимые библиотеки
- Задаются начальные значения переменных
- Открывается файл f на запись
- В файл f записываются случайные числа, разделенные пробелами
- Файл f закрывается
- Открывается файл f на чтение
- Открывается файл g на запись
- Пользователю предлагается ввести значения n и m
- В цикле считываются числа из файла f
- Если число делится на n и на m без остатка, то оно записывается в файл g
- Файл g закрывается
- Файл f закрывается
- Если не удалось открыть файл g, выводится сообщение об ошибке
- Если не удалось открыть файл f, выводится сообщение об ошибке
- Программа завершается с кодом 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д