Удалить из файла все простые числа - 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);}
}

Объяснение кода листинга программы

Вот что делается в этом коде:

  1. В функции f_simple(int z): Функция принимает целое число z в качестве аргумента и проверяет, делится ли оно на любое число от 2 до z-1 без остатка. Если делится, то возвращает 1, иначе возвращает 0.
  2. В функции main(): Функция открывает файл Input.txt для чтения и сохраняет его указатель в переменной f. Затем она читает числа из файла и сохраняет их в массиве k. После чтения всех чисел, функция закрывает файл.
  3. Затем функция открывает файл Output.txt для записи и сохраняет его указатель в переменной f.
  4. Далее, в цикле от 0 до i (где i - это количество прочитанных чисел): Функция проверяет, является ли текущее число простым с помощью функции f_simple. Если число простое, оно записывается в файл Output.txt.
  5. В конце функция закрывает файл Output.txt.
  6. Если произошла ошибка при открытии или чтении/записи файлов, программа возвращает -1.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы