Advertisement
SonicDesu

Punktowane :(

Apr 11th, 2018
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.53 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5. #include <math.h>
  6. #include <conio.h>
  7. #define Z 50
  8.  
  9. void losuj(int k, double ttt[]);
  10. int sortuj(int k, double ttt[], int jak);
  11. void prezentuj(int k, double ttt[]);
  12.  
  13. void main() {
  14.     double ttt[Z];
  15.     int k,jak,z;
  16.     do {
  17.         printf("Wprowadz ilosc elementow do posortowania: ");
  18.         scanf("%d", &k);
  19.         losuj(k, ttt);
  20.         prezentuj(k, ttt);
  21.         printf("\nWybierz rodzaj sortowania 1 -> rosnaco, -1 -> malejaco.\nPodaj wartosc: ");
  22.         scanf("%d", &jak);
  23.         sortuj(k, ttt, jak);
  24.         printf("\n\n");
  25.         prezentuj(k, ttt);
  26.         printf("Do you want to check another value? [y/n]\n");
  27.         z = _getch();
  28.         if (z != 'y') break;
  29.     } while (1);
  30. }
  31.  
  32. int sortuj(int k, double ttt[], int jak) {
  33.     int i,z,j,min; 
  34.     double temp;
  35.     if (jak == 1) {
  36.        
  37.         for (i = 0; i < k - 1; i++)
  38.         {
  39.             min = i;
  40.             for (j = i + 1; j < k; j++)
  41.                 if (ttt[j] < ttt[min]) min = j;
  42.             temp = ttt[min];
  43.             ttt[min] = ttt[i];
  44.             ttt[i] = temp;
  45.         }
  46.         return 1;
  47.            
  48.     }
  49.      else if (jak == -1) {
  50.         for (i = 0; i < k - 1; i++)
  51.         {
  52.             min = i;
  53.             for (j = i + 1; j < k; j++)
  54.                 if (ttt[j] > ttt[min]) min = j;
  55.             temp = ttt[min];
  56.             ttt[min] = ttt[i];
  57.             ttt[i] = temp;
  58.         }
  59.         return 1;
  60.  
  61.     }
  62.     return 0;
  63. }
  64. void losuj(int k, double ttt[]){
  65. int i;
  66.     srand((unsigned)time(NULL));
  67.     for (i = 0; i < k; i++) {
  68.         ttt[i] = 1.0*rand() / RAND_MAX + rand() % 10 - 5;
  69.     }
  70. }
  71. void prezentuj(int k, double ttt[]) {
  72.     int i;
  73.     for (i = 0; i < k; i++) {
  74.         printf("element - %d : %lf\n", i, ttt[i]);
  75.     }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement