Advertisement
Guest User

Sortowanie

a guest
Oct 15th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.49 KB | None | 0 0
  1. private void button2_Click(object sender, EventArgs e)
  2.         {
  3.  
  4.             int[] tab = { 7, 5, 1, 3, 8, 1, 5 };
  5.             //Zmienna która przestawia index sprwadzany przez nas
  6.             bool Czyprzestawilem = false;
  7.             //Zmienna pomagająca pokazać przebieg sortowania
  8.             bool Czybylazmiana = false;
  9.             MessageBox.Show(string.Join(" ", tab));
  10.  
  11.             //Pętla która odpowiada za numer indexu liczby która jest sprawdzana
  12.             for (int i = 1; i < tab.Length; i++)
  13.             {
  14.                 //Pętla która odpowiada za sprawdzanie od tyłu (od indexu o 1 mniejszego od indexu sprawdzanego) aby porównać czy poprzednie liczby nie były mniejsze
  15.                 for (int j = i - 1; j >= 0; j--)
  16.                 {
  17.  
  18.                     if (tab[j] > tab[i])
  19.                     {
  20.                         // Zamiana liczb
  21.                         int tmp = tab[j];
  22.                         tab[j] = tab[i];
  23.                         tab[i] = tmp;  
  24.  
  25.                         //Przestawienie indexu w dół po zamianie liczb
  26.                         Czyprzestawilem = true;
  27.                         if (Czyprzestawilem) i--;
  28.  
  29.                         Czybylazmiana = true;
  30.                     }
  31.                     Czyprzestawilem = false;
  32.  
  33.  
  34.                 }
  35.                 // Warunek który pozwala pokazać przebieg jak wygląda sprawdzanie
  36.                 if (Czybylazmiana)
  37.                 {
  38.                     Czybylazmiana = false;
  39.                     MessageBox.Show(string.Join(" ", tab));
  40.                 }
  41.  
  42.             }
  43.  
  44.         }
  45.  
  46.         private void button3_Click(object sender, EventArgs e)
  47.         {
  48.             int[] tab = { 7, 5, 1, 3, 8, 1, 5 };
  49.             // Zmienna pomagająca pokazać przebieg sortowania
  50.             bool Czybylazmiana = false;
  51.  
  52.             // Pętla która odpowiada za numer indexu liczby
  53.             for (int i = 0; i < tab.Length; i++)
  54.                 // Pętla która odpowiada za wyszukiwanie najmniejszej wartości dla liczby o 1 większej od indexu sprawdzanego
  55.                 for(int j = i+1; j < tab.Length; j++)
  56.                 {
  57.                    
  58.                     if (tab[i] > tab[j])
  59.                     {
  60.                         // Zamiana liczb
  61.                         int tmp = tab[j];
  62.                         tab[j] = tab[i];
  63.                         tab[i] = tmp;
  64.                         Czybylazmiana = true;
  65.                     }
  66.                     // Warunek który pozwala pokazać przebieg jak wygląda sprawdzanie
  67.                     if (Czybylazmiana)
  68.                     {
  69.                         Czybylazmiana = false;
  70.                         MessageBox.Show(string.Join(" ", tab));
  71.                     }
  72.                 }
  73.            
  74.  
  75.         }
  76.  
  77.         private void button1_Click(object sender, EventArgs e)
  78.         {
  79.             // Zmienna zapisująca wartość najwikeszej liczby w tablicy
  80.             int Najwieksza = 0;                                
  81.  
  82.             int[] tab = { 7, 5, 1, 3, 8, 1, 5 };
  83.             MessageBox.Show(string.Join(" ", tab));
  84.  
  85.             // Wyszukanie największej liczby w tablicy
  86.             for (int i = 0; i < tab.Length; i++)                
  87.                  if (Najwieksza < tab[i])
  88.                     Najwieksza = tab[i];
  89.  
  90.             // Stworzenie drugiej tablicy która ma zliczać wszystkie wartości
  91.             int[] Counttab = new int[Najwieksza + 1];  
  92.            
  93.             // Wyzerwoanie wszystkich liczb w tablicy
  94.             for (int i = 0; i > Counttab.Length; i++)          
  95.                 Counttab[i] = 0;
  96.  
  97.             // Zliczenie liczb do drugiej tablicy
  98.             for (int i = 0; i < Counttab.Length; i++)          
  99.             {
  100.                 for (int j = 0; j < tab.Length; j++)
  101.                 if (tab[j] == i) Counttab[i]++;
  102.             }
  103.  
  104.             MessageBox.Show(string.Join(" ", Counttab));
  105.            
  106.             // Dodanie zmiennej która odpowiada za index głównej tablicy
  107.             int Mtablicy = 0;
  108.            
  109.             // Wypisanie indexu Drugiej tablicy jako liczbe (lub liczb) głównej tablicy
  110.             for(int i = 0; i < Counttab.Length; i++)
  111.             {
  112.                 if (Counttab[i] != 0)
  113.                     for (int j = 0; j < Counttab[i]; j++)
  114.                     {
  115.                         tab[Mtablicy] = i;
  116.                         Mtablicy++;
  117.                     }
  118.             }
  119.  
  120.             MessageBox.Show(string.Join(" ", tab));
  121.  
  122.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement