Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- void create_file(char *name, int n)
- {
- int i;
- FILE *f = fopen(name,"wb");
- if (f==NULL) {
- printf("Ошибка создания файла. \n");
- system("pause");
- return ;
- }
- for( i=0;i<n;i++)
- {
- int z = rand()%200 - 100;
- fwrite(&z,sizeof(int),1,f);
- }
- fclose(f);
- }
- int min_of_files(char *name, char*name1, char *name2)
- {
- int z;
- int z2,min,max;
- FILE *f = fopen(name,"rb"); // ОТкрываем первый файл для чтения
- if (f == NULL ) {
- return 1;
- }
- FILE *f2 = fopen(name1,"rb"); // ОТкрываем второй файл для чтения
- if (f2 == NULL ) {
- fclose(f);
- return 1;
- }
- FILE *f3 = fopen(name2,"wb"); // ОТкрываем третий файл для записи
- if (f3 == NULL ) {
- fclose(f);
- fclose(f2);
- return 1;
- }
- while(!feof(f) || !feof(f2))
- {
- fread(&z,sizeof(int),1,f);
- fread(&z2,sizeof(int),1,f2);
- if( z < z2)
- {
- fwrite(&z,sizeof(int),1,f3);
- }else{
- fwrite(&z2,sizeof(int),1,f3);
- }
- }
- fclose(f);
- fclose(f2);
- fclose(f3);
- return 0;
- }
- int print_file( char * name)
- {
- FILE *f = fopen(name,"rb");
- if (f == NULL ) {
- return 1;
- }
- int z;
- printf("%s\t", name);
- fread(&z,sizeof(int),1,f);
- printf("%d ", z);
- while(!feof(f))
- {
- fread(&z,sizeof(int),1,f);
- printf("%d ", z);
- }
- fclose(f);
- return 0;
- }
- int find_min_max( char * name)
- {
- FILE *f = fopen(name,"rb");
- if (f == NULL ) {
- return 1;
- }
- int z, min, max;
- printf("%s\t", name);
- fread(&z,sizeof(int),1,f);
- max = min = z;
- printf("%d ", z);
- while(!feof(f))
- {
- fread(&z,sizeof(int),1,f);
- if(z < min)
- min = z;
- if (z > max)
- max = z;
- }
- fclose(f);
- printf("\n min = %d, max = %d\n", min, max);
- return 0;
- }
- int main(int argc, char *argv[])
- {
- system ("chcp 1251");
- char Fname[30];
- char Fname1[30];
- char Fname3[30];
- int n,m;
- printf("Введите имя создаваемого файла: ");
- gets(Fname);
- printf("Введите имя создаваемого файла: ");
- gets(Fname1);
- printf("Введите имя создаваемого файла: ");
- gets(Fname3);
- printf("Введите количество записываемых чисел: ");
- scanf("%d",&n);
- create_file(Fname,n);
- create_file(Fname1,n);
- print_file(Fname);
- printf ("\n");
- print_file(Fname1);
- printf ("\n");
- min_of_files(Fname,Fname1,Fname3);
- print_file(Fname3);
- find_min_max(Fname3);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement