Удалить из файла все простые числа - C (СИ)
Формулировка задачи:
Дан файл, содержащий целые числа (тип unsigned int). Удалить из файла все простые числа.
Решение задачи: «Удалить из файла все простые числа»
textual
Листинг программы
#include <stdio.h> int f_simple(int z) {if (z>=2) for (int i=2;i<z;i++) if (z%i==0) return(1); return(0); } int main() {FILE *f; unsigned int k[200]; int i=-1; if (!(f=fopen("Input.txt","r"))) return(-1); //esli oshibka else { while (!feof(f)) {i++; fscanf(f,"%d",&k[i]);} fclose(f);} if (!(f=fopen("Output.txt","w"))) return(-1); //esli oshibka else { for (int j=0;j<=i;j++) if (f_simple(k[j])==1) fprintf(f,"%d\n",k[j]); fclose(f);} }
Объяснение кода листинга программы
Вот что делается в этом коде:
- В функции f_simple(int z): Функция принимает целое число z в качестве аргумента и проверяет, делится ли оно на любое число от 2 до z-1 без остатка. Если делится, то возвращает 1, иначе возвращает 0.
- В функции main():
Функция открывает файл
Input.txt
для чтения и сохраняет его указатель в переменной f. Затем она читает числа из файла и сохраняет их в массиве k. После чтения всех чисел, функция закрывает файл. - Затем функция открывает файл
Output.txt
для записи и сохраняет его указатель в переменной f. - Далее, в цикле от 0 до i (где i - это количество прочитанных чисел):
Функция проверяет, является ли текущее число простым с помощью функции f_simple. Если число простое, оно записывается в файл
Output.txt
. - В конце функция закрывает файл
Output.txt
. - Если произошла ошибка при открытии или чтении/записи файлов, программа возвращает -1.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д