Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.90 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #include <string.h>
  5.  
  6. void fillingran (int* array, int n);
  7. void fillingfile (int* array, int n, FILE* fp);
  8. void sort (int* array, int n);
  9. void output (FILE* fp, int* array, int n);
  10. FILE* thith (void);
  11. void swap (int* a, int* b);
  12.  
  13. int main (void) {
  14.     int* array;
  15.     int n, j;
  16.     FILE* fp = thith ();
  17.     FILE* fpp;
  18.  
  19.     printf ("write j\n");
  20.     scanf ("%d", &j);
  21.     if ( j != 1 ) {
  22.         printf ("write size\n");
  23.         scanf ("%d", &n);
  24.         array = (int*) malloc(sizeof(int) * n);
  25.         fillingran (array, n);
  26.         printf ("pizda");
  27.         output (fp, array, n);
  28.         }
  29.     else {
  30.         fpp = thith ();
  31.         fscanf (fpp, "%d", &n);
  32.         array = (int*) malloc(sizeof(int) * n);
  33.         fillingfile (array, n, fpp);
  34.         }
  35.     sort (array, n);
  36.     printf ("fghfghfghfgh");
  37.     output (fp, array, n);
  38.  
  39.     free (array);  
  40.     fclose (fpp);
  41.     fclose (fp);
  42.     return 0;
  43. }
  44.  
  45. void fillingran (int* array, int n) {
  46.     int i;
  47.     printf ("begin \n");
  48.     for ( i = 0; i < n; i++)
  49.         array[i] = (rand () % 10);
  50. //  for ( i = 0; i < n; i++) printf ("%d \n", array[i]);
  51.     printf ("end \n");
  52.     return;
  53. }
  54.  
  55. void output (FILE* fp, int* array, int n) {
  56.     int i;
  57.     printf ("dsfghjgsfrewthgbv");  
  58.     for ( i = 0; i < n; i++) {
  59.         fprintf (fp, "%d   ", array[i]);
  60.         printf ("hui");
  61.         }
  62.     fprintf (fp, "\n");
  63.     return;
  64. }  
  65.  
  66. FILE* thith (void) {
  67.     char buf[20];
  68.     printf ("write file name \n");
  69.     scanf("%s", buf);
  70.     return fopen(buf, "w");
  71. }
  72.  
  73. void swap (int* a, int* b) {
  74.     int c;
  75.    
  76.     c = *a;
  77.     *a = *b;
  78.     *b = c;
  79.     return;
  80. }
  81.  
  82. void sort (int* array, int n) {
  83.     int i, j;
  84.  
  85.     for ( i = 0; i < n - 2; i = i + 2)
  86.         for ( j = 0; j < n - 2; j = j + 2)
  87.             if (array[j] < array[j+2]) swap (&array[j], &array[j+2]);
  88. //  printf ("end \n");
  89. //  for ( i = 0; i < n; i++) printf ("%d \n", array[i]);
  90.     return;
  91. }  
  92.  
  93. void fillingfile (int* array, int n, FILE* fpp) {
  94.     int i;
  95.  
  96.     for ( i = 0; i < n; i++) fscanf (fpp, "%d", &array[i]);
  97.     return;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement