- // ConsoleApplication5.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
- //
- #include "pch.h"
- #include <iostream>
- using namespace std;
- int compare(const void * a, const void * b)
- {
- if (*(int*)a < *(int*)b) return -1;
- if (*(int*)a == *(int*)b) return 0;
- if (*(int*)a > *(int*)b) return 1;
- }
- void zad1(int size1, int size2, int **tab) {
- for (int z = 0; z < size1; z++)
- {
- for (size_t i = 0; i < size1; i++)
- {
- qsort(tab[i], size2, sizeof(int), compare);
- }
- for (int i = 0; i < size1 - 1; i++)
- {
- if (tab[i][0] > tab[i + 1][0])
- {
- swap(tab[i], tab[i + 1]);
- }
- }
- }
- }
- void printtab(int tab[], int size) {
- for (int i = 0; i < size; i++)
- {
- cout << tab[i] << " ";
- }
- }
- void zad2(int *tab, int size) {
- int bottom = 0, top = size - 1;
- bool replace = true;
- while (replace)
- {
- replace = false;
- for (int i = bottom; i < top; i++)
- {
- if (tab[i] < tab[i + 1])
- {
- swap(tab[i], tab[i + 1]);
- replace = true;
- }
- }
- top--;
- for (int i = top; i > bottom; i--)
- {
- if (tab[i] > tab[i - 1])
- {
- swap(tab[i], tab[i - 1]);
- replace = true;
- }
- }
- bottom++;
- printtab(tab, size);
- }
- }
- int main()
- {
- int z = 9;
- const int s1 = 4, s2 = 5;
- while (z != 0)
- {
- cin >> z;
- switch (z)
- {
- case 1:
- int ** tab1;
- tab1 = new int *[s1];
- for (int i = 0; i < s1; i++)
- {
- tab1[i] = new int[s2];
- for (int j = 0; j < s2; j++)
- {
- cin >> tab1[i][j];
- }
- }
- zad1(s1, s2, tab1);
- for (int i = 0; i < s1; i++)
- {
- for (int j = 0; j < s2; j++)
- {
- cout << tab1[i][j] << " ";
- }
- }
- break;
- case 2:
- const int s3 = 10;
- int tab2[s3];
- for (int i = 0; i < s3; i++)
- {
- cin >> tab2[i];
- }
- zad2(tab2, s3);
- break;
- }
- }
- }
- // Uruchomienie programu: Ctrl + F5 lub menu Debugowanie > Uruchom bez debugowania
- // Debugowanie programu: F5 lub menu Debugowanie > Rozpocznij debugowanie
- // Porady dotyczące rozpoczynania pracy:
- // 1. Użyj okna Eksploratora rozwiązań, aby dodać pliki i zarządzać nimi
- // 2. Użyj okna programu Team Explorer, aby nawiązać połączenie z kontrolą źródła
- // 3. Użyj okna Dane wyjściowe, aby sprawdzić dane wyjściowe kompilacji i inne komunikaty
- // 4. Użyj okna Lista błędów, aby zobaczyć błędy
- // 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
- // 6. Aby w przyszłości ponownie otworzyć ten projekt, przejdź do pozycji Plik > Otwórz > Projekt i wybierz plik sln