Записать в новый файл все числа, кроме чисел, позиция которых кратна 5 - C (СИ)
Формулировка задачи:
Компоненты бинарного файла – вещественные числа. Записать в новый файл все числа,кроме чисел,позиция которых кратна 5
#include<stdio.h>
FILE *fin,*fout;
int main(void)
{
int i=0,n;
float buf;
fin=fopen("files_i.dat","w+b");
if(fin==NULL)
return 1;
fout=fopen("files_o.dat","w+b");
if(fout==NULL)
return 1;
puts("Vvedite kol-vo elementov: ");
scanf("%d", &n);
for(i=0; i<n; i++)
{
printf("vvedite %d chislo:",i);
scanf("%d", &buf);
fwrite(&buf, sizeof(int), 1, fin);
}
for(i=0;i<n;i++)
{
fread(&buf,sizeof(float),0,fin);
if(i%5!=0)
fwrite(&buf,sizeof(float),1,fout);
}
fclose(fin);
fclose(fout);
return 0;
}Прога для проверки результата
#include <stdio.h>
#include <stdlib.h>
FILE *fin;
int main(void)
{
int buf;
fin=fopen("files_o.dat","rb");
if (fin==NULL){puts("error"); system("pause");return 1;}
while(fread(&buf,sizeof(int),1,fin)==1)
printf("%d\t",buf);
getchar();
fclose(fin);
return 0;
}Решение задачи: «Записать в новый файл все числа, кроме чисел, позиция которых кратна 5»
textual
Листинг программы
puts("Vvedite kol-vo elementov: ");
scanf("%d", &n);
Объяснение кода листинга программы
- Пользователю предлагается ввести количество элементов для обработки.
- Значение количества элементов сохраняется в переменной
n.