Сформировать файл g последовательного доступа, в который занести квадраты нечётных компонентов файла f - C (СИ)
Формулировка задачи:
Заполнить файл
f
последовательного доступаN
натуральными числами, полученными с помощью генератора случайных чисел. Сформировать файлg
последовательного доступа, в который занести квадраты нечётных компонентов файлаf
. Вывести содержимое полученного файла на экран. Заранее благодарен c:Решение задачи: «Сформировать файл g последовательного доступа, в который занести квадраты нечётных компонентов файла f»
textual
Листинг программы
FILE *f,*g;
int x;
if ((!(f=fopen("f.txt","a"))) || (!(g=fopen("g.txt","a"))))
return(-1);
else
{
for (int i=0;i<N;i++)
{
x=<число из генератора случайных чисел>;
fprintf(f,"%d",x);
if (i!=N-1) fprintf(f,"\n");
if (i%2!=0) fprintf(g,"%d\n",x*x);
}
fclose(f);
fclose(g);
}
if (!(g=fopen("g.txt","r")))
return(-1); //esli oshibka
else
{
while (!feof(f))
{
fscanf(g,"%d",&x);
printf("%d",x);
}
fclose(g);
}
Объяснение кода листинга программы
Выполняемый код:
- Открывает файл f.txt на дописывание (режим
a). - Открывает файл g.txt на дописывание (режим
a). - Проверяет корректность открытия файлов.
- Происходит заполнение файла f.txt случайными числами от 0 до N-1 и их запись в файл g.txt (только для нечетных индексов).
- Закрывает файл f.txt.
- Закрывает файл g.txt.
- Открывает файл g.txt на чтение.
- Проверяет корректность открытия файла.
- Происходит вывод содержимого файла g.txt построчно.
- Закрывает файл g.txt. Примечание: В представленном коде не указано значение переменной N, которое должно быть определено в коде перед выполнением цикла.