Advertisement
Guest User

Untitled

a guest
Feb 21st, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.51 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void bubblesort (int tab [], int s, char order);
  5. void swap (int* a, int* b);
  6. void printtable (int tab [], int s);
  7.  
  8. void swap (int* a, int* b)
  9. {  
  10.     int temp = (*a);
  11.     (*a) = (*b);
  12.     (*b) = temp;
  13.     return;
  14. }
  15.  
  16. void bubblesort (int tab [], int s, char order)
  17. {  
  18.     int i, j;
  19.     for (i = 0; i < s; i++)
  20.     {  
  21.         for (j = i; j > 0; j--)
  22.         {  
  23.             if (tab[j - 1] < tab[j] && order == 'm')
  24.             {  
  25.                 swap(&tab[j - 1], &tab[j]);
  26.             }
  27.             else if (tab[j - 1] > tab[j] && order == 'r')
  28.             {  
  29.                 swap(&tab[j - 1], &tab[j]);
  30.             }
  31.         }
  32.     }
  33.     return;
  34. }
  35.  
  36. void printtable (int tab [], int s)
  37. {  
  38.     int i;
  39.     printf("[");
  40.     for (i = 0; i < s; i++)
  41.     {  
  42.         printf((i ? ", %d" : "%d"), tab[i]);
  43.     }
  44.     printf("]\n");
  45.     return;
  46. }
  47.  
  48. int main (void)
  49. {  
  50.     int n, i;
  51.     int* liczby;
  52.     char decyzja;
  53.     printf("Podaj ilosc liczb:\n");
  54.     scanf("%d", &n);
  55.     liczby = (int*) malloc(n * sizeof(int));
  56.     printf("Podaj %d liczb%s calkowit%s:\n", n, (n > 1 ? "y" : "e"), (n > 1 ? "e" : "a"));
  57.     for (i = 0; i < n; i++)
  58.     {  
  59.         scanf("%d", &liczby[i]);
  60.     }
  61.     printf("Podane liczby to:\n");
  62.     printtable(liczby, n);
  63.     printf("Jak je posortowac? [m - malejaco, r - rosnaco]\n");
  64.     scanf(" %c", &decyzja);
  65.     bubblesort(liczby, n, decyzja);
  66.     printtable(liczby, n);
  67.     return EXIT_SUCCESS;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement