Facebook
From Cute Cat, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 256
  1. // ConsoleApplication5.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
  2. //
  3.  
  4. #include "pch.h"
  5. #include <iostream>
  6.  
  7.  
  8. using namespace std;
  9.  
  10. int compare(const void * a, const void * b)
  11. {
  12.         if (*(int*)a < *(int*)b) return -1;
  13.         if (*(int*)a == *(int*)b) return 0;
  14.         if (*(int*)a > *(int*)b) return 1;
  15. }
  16. void zad1(int size1, int size2, int **tab) {
  17.         for (int z = 0; z < size1; z++)
  18.         {
  19.                 for (size_t i = 0; i < size1; i++)
  20.                 {
  21.                         qsort(tab[i], size2, sizeof(int), compare);
  22.                 }
  23.  
  24.                 for (int i = 0; i < size1 - 1; i++)
  25.                 {
  26.                         if (tab[i][0] > tab[i + 1][0])
  27.                         {
  28.                                 swap(tab[i], tab[i + 1]);
  29.                         }
  30.                 }
  31.         }
  32. }
  33. void printtab(int tab[], int size) {
  34.         for (int i = 0; i < size; i++)
  35.         {
  36.                 cout << tab[i] << " ";
  37.         }
  38. }
  39. void zad2(int *tab, int size) {
  40.         int bottom = 0, top = size - 1;
  41.         bool replace = true;
  42.         while (replace)
  43.         {
  44.                 replace = false;
  45.                 for (int i = bottom; i < top; i++)
  46.                 {
  47.                         if (tab[i] < tab[i + 1])
  48.                         {
  49.                                 swap(tab[i], tab[i + 1]);
  50.                                 replace = true;
  51.                         }
  52.                 }
  53.                 top--;
  54.                 for (int i = top; i > bottom; i--)
  55.                 {
  56.                         if (tab[i] > tab[i - 1])
  57.                         {
  58.                                 swap(tab[i], tab[i - 1]);
  59.                                 replace = true;
  60.                         }
  61.                 }
  62.                 bottom++;
  63.                 printtab(tab, size);
  64.         }
  65. }
  66.  
  67. int main()
  68. {
  69.         int z = 9;
  70.         const int s1 = 4, s2 = 5;
  71.         while (z != 0)
  72.         {
  73.                 cin >> z;
  74.                 switch (z)
  75.                 {
  76.                 case 1:
  77.                         int ** tab1;
  78.  
  79.                         tab1 = new int *[s1];
  80.                         for (int i = 0; i < s1; i++)
  81.                         {
  82.                                 tab1[i] = new int[s2];
  83.                                 for (int j = 0; j < s2; j++)
  84.                                 {
  85.                                         cin >> tab1[i][j];
  86.                                 }
  87.                         }
  88.                         zad1(s1, s2, tab1);
  89.                         for (int i = 0; i < s1; i++)
  90.                         {
  91.                                 for (int j = 0; j < s2; j++)
  92.                                 {
  93.                                         cout << tab1[i][j] << " ";
  94.                                 }
  95.                         }
  96.  
  97.                         break;
  98.                 case 2:
  99.                         const int s3 = 10;
  100.                         int tab2[s3];
  101.                         for (int i = 0; i < s3; i++)
  102.                         {
  103.                                 cin >> tab2[i];
  104.                         }
  105.                         zad2(tab2, s3);
  106.                         break;
  107.                 }
  108.  
  109.  
  110.         }
  111. }
  112.  
  113. // Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania
  114. // Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie
  115.  
  116. // Porady dotyczące rozpoczynania pracy:
  117. //   1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi
  118. //   2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła
  119. //   3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty
  120. //   4. Użyj okna Lista błędów, aby zobaczyć błędy
  121. //   5. Wybierz pozycję Projekt > Dodaj nowy element, aby utworzyć nowe pliki kodu, lub wybierz pozycję Projekt > Dodaj istniejący element, aby dodać istniejące pliku kodu do projektu
  122. //   6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln
  123.