Удалить из файла все числа, расположенные между первым и последним положительными компонентами - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main()
{
int i;
int b;
FILE *file;
file = fopen("input.bin", "wb");
srand(time(NULL));
for(i=0; i<10; i++)
{
b=rand()%19-9;
printf("%d ",b);
fwrite(&b,sizeof(int), 1, file);
}
getch();
fclose(file);
return 0;
}#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define M 10
int main()
{
float a[M];
int i,x,y;
FILE *file,*filefile;
file = fopen("input.bin", "rb");
filefile=fopen("output.txt","wt");
// for(i=0; i<10; i++)
// {
fread(a,sizeof(int),10,file);
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
// }
for(i=0; i<10; i++)
{
if (a[i]>0) {x=i;
break;}
}
for(i=M-1;i>=0;i--)
{
if (a[i]>0) {y=i;
break;}
}
for(i=0;i<=x;i++)
{
fwrite(&a[i] ,sizeof(int), 1, filefile);
}
for(i=y;i<10;i++)
{
fwrite(&a[i] ,sizeof(int), 1, filefile);
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
getch();
fclose(file);
fclose(filefile);
return 0;
}Решение задачи: «Удалить из файла все числа, расположенные между первым и последним положительными компонентами»
textual
Листинг программы
fprintf(filefile, "%d\n", a[i]);