Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- //Koktejlove razeni matice matice
- int main()
- {
- //deklarace promennych
- int pocetRadku = 11;
- int pocetSloupcu = 23;
- int matice[pocetRadku][pocetSloupcu];
- srand(time(NULL));
- int serazeno = 0;
- int zpatky = 0;
- //naplnění matice a jeji vypis
- for(int i = 0; i < pocetRadku; ++i)
- {
- for(int j = 0; j < pocetSloupcu; ++j)
- {
- matice[i][j] = rand() % 100;
- printf("%02i ", matice[i][j]);
- }
- printf("\n");
- }
- //serazeni matice
- while(serazeno == 0)
- {
- int nastaloPrehozeni = 0;
- for(int k = 0; k < pocetRadku; ++k)
- {
- for(int l = 0; l < pocetSloupcu; ++l)
- {
- // printf("presort P:%02i:%02i - V: %02i\n", k, l, matice[k][l]);
- if(l < pocetSloupcu-1) //stejny radek
- {
- if((matice[k][l]) < matice[k][l+1])
- {
- int temp = matice[k][l];
- matice[k][l] = matice[k][l+1];
- matice[k][l+1] = temp;
- nastaloPrehozeni = 1;
- }
- }
- if(k < pocetRadku-1 && l == pocetSloupcu -1) //posledni polozka neposledniho radku
- {
- if((matice[k][l]) < matice[k+1][0]) //posledni polozka aktualniho radku s prvni polozkou nasledujiciho
- {
- int temp = matice[k][l];
- matice[k][l] = matice[k+1][0];
- matice[k+1][0] = temp;
- nastaloPrehozeni = 1;
- }
- }
- if(k == pocetRadku-1 && l == pocetSloupcu-1)
- {
- //posledni polozka iterace
- break;
- }
- if( matice[k][l] > 100)
- {
- printf("valerr P:%02i:%02i - V: %02i\n", k, l, matice[k][l]);
- }
- }
- }
- if(nastaloPrehozeni == 1)
- {
- continue;
- }
- else
- {
- serazeno = 1;
- }
- }
- //vypis matice
- printf("\n\nserazeno:\n");
- for(int i = 0; i < pocetRadku; ++i)
- {
- for(int j = 0; j < pocetSloupcu; ++j)
- {
- printf("%02i ", matice[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement