Создать файл целых чисел с данным именем и записать в него N первых положительных четных чисел - C (СИ)
Формулировка задачи:
Дано имя файла и целое число N (> 1). Создать файл целых чисел с данным именем и записать в него N первых положительных четных чисел (2, 4, …).
#include <stdio.h> #include <stdlib.h> void main() { FILE *fp; char name[10]; int *a,*b,*d,i,j,N,n=40,c=40,kol=0,k,index; printf("\n Vvedite imya file: "); scanf("%s",name); if((fp=fopen(name, "w"))==NULL) { printf("\n File uspeshno sozdan\n"); } else { printf("\n Vvedite N>1, N="); scanf("%d",&N); puts("\n"); fprintf(fp,"***** Dannuy massive *****\n"); puts("\n"); a=(int*)malloc(n*sizeof(int)); d=(int*)malloc(n*sizeof(int)); for(i=0;i<n;i++) a[i]=rand()%c-10; for(i=0;i<n;i++) { if(a[i]>0 && a[i]%2==0) { printf("%4d",a[i]); d[i]=1; } if(a[i]<0 && a[i]%2==1) { d[i]=2; } } b=(int*)malloc(N*sizeof(int)); puts("\n"); for(i=0;i<n;i++) { if(d[i]==1 && d[i]!=2) { b[j]=a[i]; j++; } } for(i=0;i<N;i++) printf("%4d",b[j]); } }
Решение задачи: «Создать файл целых чисел с данным именем и записать в него N первых положительных четных чисел»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define MAX_SIZE 32 int main() { char input_file[MAX_SIZE]; FILE* output; int number; int i = 1; if (printf("Input name of file: ") && scanf("%s", output_file) && (output = fopen(input_file, "w")) != NULL) { if (printf("Input number: ") && scanf("%d", &number) && number > 1) { do { fprintf(output, "%d ", i++ * 2); } while (i <= number); } } else { fprintf(stdout, "Error. Can't create file \"%s\"", output_file); _exit(EXIT_FAILURE); } return 0; }
Объяснение кода листинга программы
Вывод: Список не более 20 элементов:
- Объявлены две переменные типа char: input_file и output_file. Первая используется для хранения имени файла, вторая - для вывода сообщений об ошибках.
- Объявлены две переменные типа int: number и i. Первая используется для хранения введенного числа, вторая - для подсчета количества записанных в файл чисел.
- Выполняется блок if. Если имя файла введено верно и файл открыт, выполняется следующий блок.
- Выполняется блок if. Если введено число больше 1, выполняется следующий блок.
- Запускается цикл do-while. Пока i меньше или равно числу, выводится в файл число i, умноженное на 2, и i увеличивается на 1.
- Если при открытии файла возникла ошибка, выводится сообщение об ошибке с указанным именем файла, и программа завершается с кодом EXIT_FAILURE.
- Если при вводе числа возникла ошибка, выводится сообщение об ошибке.
- Если при вводе имени файла возникла ошибка, выводится сообщение об ошибке с указанным именем файла, и программа завершается с кодом EXIT_FAILURE.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д