1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
| #include "stdafx.h"
#include <string.h>
#include <iostream>
const int N=10;
typedef int mas[N];
void Fill();
void Sort();
void Finish();
FILE *f,*g;
mas A={1,2,3,4,5,-6,-7,-8,-9,-10};
mas B;
int i;
int z=0;
int main() {
Fill();
if ((f=fopen("C:\\test.bin","rb"))==NULL){
printf("File not open");
exit(1);
}
if ((g=fopen("C:\\test2.bin","w+b"))==NULL){
printf("File not open");
exit(1);
}
for (i=0;i<N;i++)
fread(&A[i],sizeof(int),1,f);
fclose(f);
Sort();
for (i=0;i<z;i++)
fwrite(&B[i],sizeof(int),1,g);
fclose(g);
printf("Result:");
printf("\n");
Finish();
system("pause");
}
void Fill(){
if ((f=fopen("C:\\test.bin","w+b"))==NULL){
printf("File not open");
exit(1);
}
for (i=0;i<N;i++)
fwrite(&A[i],sizeof(int),1,f);
fclose(f);
}
void Sort(){
for (i=0;i<N;i++)
if (A[i]>0){
B[z]=A[i];
z++;
}
for (i=0; i<N;i++)
if (A[i]<0){
B[z]=A[i];
z++;
}
}
void Finish(){
if ((g=fopen("C:\\test2.bin","rb"))==NULL){
printf("File not open");
exit(1);
}
for (i=0;i<N;i++)
fread(&A[i],sizeof(int),1,g);
fclose(g);
for (i=0;i<N;i++)
printf("%i\n",A[i]);
} |