Guest User

Untitled

a guest
May 23rd, 2013
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.50 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <windows.h>
  5.  
  6. void selection_sort(int *array, int length) {
  7.     for (int i = 0; i < length; i++) {
  8.         int min = i;
  9.         for (int j = i + 1; j < length; j++) {
  10.             if (array[j] < array[min]) {
  11.                 min = j;
  12.             }
  13.         }
  14.         if (min != i) {
  15.             int buf = array[i];
  16.             array[i] = array[min];
  17.             array[min] = buf;
  18.         }
  19.     }
  20. }
  21.  
  22. void generate_file(int n) {
  23.     FILE *in = fopen("input.txt", "w");
  24.     srand(time(NULL));
  25.     for (int i = 0; i < n; i++) {
  26.         fprintf(in, "%d ", rand() % 1000);
  27.     }
  28.     fclose(in);
  29. }
  30.  
  31. int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
  32.     printf("elements amount: ");
  33.     int count;
  34.     scanf("%d", &count);
  35.     generate_file(count);
  36.     FILE *in  = fopen("input.txt", "r");
  37.     FILE *out = fopen("output.txt", "w");
  38.     int *data = NULL;
  39.     int n = 0;
  40.     int value;
  41.     while (fscanf(in, "%d", &value) > 0) {
  42.         if (data == NULL) {
  43.             data = (int*) malloc(sizeof(int));
  44.             n++;
  45.         }
  46.         else {
  47.             data = (int*) realloc(data, (++n)*sizeof(int));
  48.         }
  49.         data[n-1] = value;
  50.     }
  51.     selection_sort(data, n);
  52.     for (int i = 0; i < n; i++) {
  53.         fprintf(out, "%d ", data[i]);
  54.     }
  55.     fclose(in);
  56.     fclose(out);
  57.  
  58.     char name[] = "Ilya";
  59.     char surname[] = "Pasechnikov";
  60.     int year = 1993;
  61.     int month = 6;
  62.     int day = 7;
  63.     char message[512];
  64.     sprintf(message, " NAME: %s\n SURNAME: %s\n YEAR: %d\n MONTH: %d\n DAY: %d\nSORTED", name, surname, year, month, day);
  65.     MessageBox(NULL, message, "lab3", MB_OK);
  66.     return 0;
  67. }
Advertisement
Add Comment
Please, Sign In to add comment