Удалить из файла все простые числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дан файл, содержащий целые числа (тип unsigned int). Удалить из файла все простые числа.

Решение задачи: «Удалить из файла все простые числа»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. int f_simple(int z)
  4. {if (z>=2)
  5.   for (int i=2;i<z;i++)
  6.    if (z%i==0) return(1);
  7. return(0);
  8. }
  9.  
  10. int main()
  11. {FILE *f;
  12.  unsigned int k[200];
  13.  int i=-1;
  14.  if (!(f=fopen("Input.txt","r")))
  15.  return(-1); //esli oshibka
  16.   else {
  17.    while (!feof(f)) {i++; fscanf(f,"%d",&k[i]);}
  18.    fclose(f);}
  19.  
  20.  if (!(f=fopen("Output.txt","w")))
  21.  return(-1); //esli oshibka
  22.  else {
  23.   for (int j=0;j<=i;j++)
  24.    if (f_simple(k[j])==1) fprintf(f,"%d\n",k[j]);
  25.   fclose(f);}
  26. }

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

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

  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы