Facebook
From Mammoth Giraffe, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 237
  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.         cout << "\n";
  39. }
  40. void zad2(int *tab, int size) {
  41.         int bottom = 0, top = size - 1;
  42.         bool replace = true;
  43.         while (replace)
  44.         {
  45.                 replace = false;
  46.                 for (int i = bottom; i < top; i++)
  47.                 {
  48.                         if (tab[i] > tab[i + 1])
  49.                         {
  50.                                 swap(tab[i], tab[i + 1]);
  51.                                 replace = true;
  52.                         }
  53.                 }
  54.                 top--;
  55.                 for (int i = top; i > bottom; i--)
  56.                 {
  57.                         if (tab[i] < tab[i - 1])
  58.                         {
  59.                                 swap(tab[i], tab[i - 1]);
  60.                                 replace = true;
  61.                         }
  62.                 }
  63.                 bottom++;
  64.                 printtab(tab, size);
  65.         }
  66. }
  67.  
  68. int main()
  69. {
  70.         int z = 9;
  71.         const int s1 = 4, s2 = 5;
  72.         while (z != 0)
  73.         {
  74.                 cout << "1-zadanie 1\n2-zadanie 2\n0-exit\n";
  75.                 cin >> z;
  76.                 switch (z)
  77.                 {
  78.                 case 1:
  79.                         int ** tab1;
  80.  
  81.                         tab1 = new int *[s1];
  82.                         for (int i = 0; i < s1; i++)
  83.                         {
  84.                                 tab1[i] = new int[s2];
  85.                                 for (int j = 0; j < s2; j++)
  86.                                 {
  87.                                         cin >> tab1[i][j];
  88.                                 }
  89.                         }
  90.                         zad1(s1, s2, tab1);
  91.                         for (int i = 0; i < s1; i++)
  92.                         {
  93.                                 for (int j = 0; j < s2; j++)
  94.                                 {
  95.                                         cout << tab1[i][j] << " ";
  96.                                 }
  97.                                 cout << "\n";
  98.                         }
  99.                         break;
  100.                 case 2:
  101.                         const int s3 = 10;
  102.                         int tab2[s3];
  103.                         for (int i = 0; i < s3; i++)
  104.                         {
  105.                                 cin >> tab2[i];
  106.                         }
  107.                         zad2(tab2, s3);
  108.                         break;
  109.                 }
  110.  
  111.  
  112.         }
  113. }
  114.  
  115. // Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania
  116. // Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie
  117.  
  118. // Porady dotyczące rozpoczynania pracy:
  119. //   1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi
  120. //   2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła
  121. //   3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty
  122. //   4. Użyj okna Lista błędów, aby zobaczyć błędy
  123. //   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
  124. //   6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln
  125.