Advertisement
KrimsN

Untitled

Feb 23rd, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.66 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /* run this program using the console pauser or add your own getch, system("pause") or input loop */
  5.  
  6. void create_file(char *name, int n)
  7. {
  8.     int i;
  9.     FILE *f = fopen(name,"wb");
  10.         if (f==NULL) {
  11.         printf("Ошибка создания файла. \n");
  12.         system("pause");
  13.         return ;
  14.         }
  15.  
  16.     for( i=0;i<n;i++)
  17.     {
  18.         int z = rand()%200 - 100;
  19.         fwrite(&z,sizeof(int),1,f);
  20.     }
  21.     fclose(f);
  22. }
  23.  
  24.  
  25.  
  26.  
  27.  
  28. int min_of_files(char *name, char*name1, char *name2)
  29. {
  30.     int z;
  31.     int z2,min,max;
  32.     FILE *f = fopen(name,"rb");        // ОТкрываем первый файл для чтения
  33.     if (f == NULL ) {
  34.         return 1;
  35.     }
  36.     FILE *f2 = fopen(name1,"rb");      // ОТкрываем второй файл для чтения
  37.     if (f2 == NULL ) {
  38.         fclose(f);
  39.         return 1;
  40.     }
  41.     FILE *f3 = fopen(name2,"wb");      // ОТкрываем третий файл для записи
  42.     if (f3 == NULL ) {
  43.         fclose(f);
  44.         fclose(f2);
  45.         return 1;
  46.     }
  47.  
  48.     while(!feof(f) || !feof(f2))
  49.     {
  50.         fread(&z,sizeof(int),1,f);        
  51.         fread(&z2,sizeof(int),1,f2);    
  52.         if( z < z2)
  53.         {
  54.             fwrite(&z,sizeof(int),1,f3);   
  55.         }else{
  56.             fwrite(&z2,sizeof(int),1,f3);  
  57.         }
  58.     }
  59.     fclose(f);
  60.     fclose(f2);
  61.     fclose(f3);
  62.     return 0;
  63. }
  64. int print_file( char * name)
  65. {
  66.     FILE *f = fopen(name,"rb");    
  67.     if (f == NULL ) {
  68.         return 1;
  69.     }
  70.     int z;
  71.     printf("%s\t", name);
  72.  
  73.     fread(&z,sizeof(int),1,f);
  74.     printf("%d  ", z);
  75.  
  76.     while(!feof(f))
  77.     {
  78.         fread(&z,sizeof(int),1,f);
  79.         printf("%d  ", z);     
  80.     }
  81.     fclose(f);
  82.     return 0;  
  83.  
  84. }
  85. int find_min_max( char * name)
  86. {
  87.     FILE *f = fopen(name,"rb");    
  88.     if (f == NULL ) {
  89.         return 1;
  90.     }
  91.     int z, min, max;
  92.     printf("%s\t", name);
  93.  
  94.     fread(&z,sizeof(int),1,f);
  95.     max = min = z;
  96.     printf("%d  ", z);
  97.  
  98.     while(!feof(f))
  99.     {
  100.         fread(&z,sizeof(int),1,f);
  101.         if(z < min)
  102.             min = z;
  103.         if (z > max)
  104.             max = z;
  105.        
  106.     }
  107.     fclose(f);
  108.     printf("\n min = %d, max = %d\n", min, max);
  109.     return 0;  
  110.  
  111. }
  112.  
  113.  
  114.  
  115.  
  116. int main(int argc, char *argv[])
  117. {
  118. system ("chcp 1251");
  119.  
  120. char Fname[30];
  121. char Fname1[30];
  122. char Fname3[30];
  123. int n,m;
  124. printf("Введите имя создаваемого файла: ");
  125. gets(Fname);
  126.  
  127.  
  128. printf("Введите имя создаваемого файла: ");
  129. gets(Fname1);
  130.  
  131. printf("Введите имя создаваемого файла: ");
  132. gets(Fname3);
  133.  
  134. printf("Введите количество записываемых чисел: ");
  135. scanf("%d",&n);
  136.  
  137. create_file(Fname,n);
  138. create_file(Fname1,n);
  139.  
  140.  
  141.  
  142.  
  143. print_file(Fname);
  144. printf ("\n");
  145. print_file(Fname1);
  146. printf ("\n");
  147. min_of_files(Fname,Fname1,Fname3);
  148. print_file(Fname3);
  149. find_min_max(Fname3);
  150. return 0;
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement