Guest User

Untitled

a guest
Jul 19th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.68 KB | None | 0 0
  1. #include <iostream> // Wczytanie biblioteki iostream
  2. #include <ctime> // Wczytanie biblioteki ctime
  3.                     //pusta linijka
  4. using namespace std; // Dzieki temu nie trzeba przy kazdym cout / cin wpisywac std;
  5. //pusta linijka
  6. const int n=11; // ustawienie stalej (integer = liczba calkowita)na wartosc 10;
  7. int k=n; // ustawienie zmiennej k (integer = liczba calkowita) na identyczna wartosc jak stala n (czyli 10)
  8. int tab[n]; // stworzenie n-elementowej tablicy (integer = liczba calkowita)
  9. int a,b,c;
  10. void kopiec() // tworzenie funkcji kopiec - odpowiadajacej za utworzenie kopca
  11. {
  12.     for(int i=2;i<=n;i++)
  13.     {
  14.         a=i;
  15.         b=a/2;
  16.         while((tab[a]>tab[b])&&(b>0)) // wykonywanie petli "while" dopoki "potomek" jest wiekszy niz "ojciec" oraz indeks ojca jest wiekszy niz 0;
  17.         {
  18.             c=tab[a];
  19.             tab[a]=tab[b];
  20.             tab[b]=c;
  21.             a=b;
  22.             b=a/2;
  23.         }
  24.     }
  25. }
  26. void sort() // stworzenie funkcji sortujacej
  27. { // otwarcie "ciala" funkcji sort
  28.     int a; // stworzenie zminnej (integer = liczba calkowita) a;
  29.     for (int i=0;i<n;i++) // stworzenie petli for na zmiennej (integer = liczba calkowita) i, bioracej po koleji element z tablicy tab[n]. Petla sprawdza czy zmienna i jest mniejsza od n, jesli tak to sie wykonuje, po wykonaniu petli i jest zwiekszane o 1;
  30.      { // otwarcie "ciala" petli for;
  31.         for (int j=0;j<k-1;j++) // stworzenie petli for na zmiennej (integer = liczba calkowita) j, bioracej po koleji element z tablicy tab[n] Petla sprawdza czy zmienna j jest mniejsza od k-1, jesli tak to sie wykonuje, po wykonaniu petli j jest zwiekszane o 1;
  32.         { // otwarcie "ciala" petli for;
  33.             if (tab[j]>tab[j+1]) // Stworzenie instrukcji warunkowej if, odpowiadajacej za sprawdzanie czy sprawdzany element jest wiekszy niz nastepny;
  34.             { // otwarcie "ciala" instrukcji warunkowej if;
  35.                 a=tab[j+1]; // przpisanie wartosci tab[j+i] do zmiennej a;
  36.                 tab[j+1]=tab[j]; // przpisanie wartosci tab[j] do nastepnego elementu tablicy;
  37.                 tab[j]=a; // przpisanie wartosci zmiennej a do sprawdzanego elementu tablicy;
  38.             } // zamkniecie "ciala" instukcji warunkowej if;
  39.          } // zamkniecie "ciala" petli for operujacej na zmiennej j;
  40.         k=k-1; // zmniejszanie zmiennej k o 1, tak aby dla kazdego elementu tablicy tab, petla for od j wykonywala sie mniej razy;
  41.     } // zamkniecie "ciala" petli for operujacej na zmiennej i;
  42. } // zamkniecie "ciala" funkcji sort;
  43.  
  44. void dodawanie() // stworzenie funkcji dodawanie, odpowiadajacej za dodawanie elementow do tablicy tab;
  45. { // otwarcie "ciala" funkcji dodawanie
  46.     int b; // stworzenie zmiennej integer (liczba calkowita) b;
  47.     for (int i=1;i<n;i++) // stworzenie petli for na zmiennej (integer = liczba calkowita) i, bioracej po koleji element z tablicy tab[n]. Petla sprawdza czy zmienna i jest mniejsza od n, jesli tak to sie wykonuje, po wykonaniu petli i jest zwiekszane o 1;
  48.         { // otwarcie "ciala" petli for
  49.             b=rand()%100 +1; // przypisanie do zmiennej b losowej wartosci z przedzialu 0-100
  50.             tab[i]=b; // przypisanie to elementu tablicy, wartosci zmiennej b
  51.         } // zamkniecie "ciala" petli for
  52. } // zamkniecie "ciala" funkcji dodawanie
  53. void wyswietlanie() // stworzenie funkcji wyswietlanie, odpowiadajacej za wyswietlenie elementow tablicy;
  54. { // otwarcie "ciala" funkcji wyswietlanie
  55.         for (int i=1;i<n;i++) // stworzenie petli for na zmiennej (integer = liczba calkowita) i, bioracej po koleji element z tablicy tab[n]. Petla sprawdza czy zmienna i jest mniejsza od n, jesli tak to sie wykonuje, po wykonaniu petli i jest zwiekszane o 1;
  56.         {// otwarcie "ciala" petli for
  57.             cout<<tab[i]<<" "; // wyswietlenie elementu tablicy, a po nim wyswietlenie znaku Spacebar
  58.         }// zamkniecie "ciala" petli for
  59.     cout<<endl;
  60. } // zamkniecie "ciala" funkcji wyswietlanie
  61. int main () // Cialo calego programu
  62. { // otwarcie "ciala calego programu"
  63.     srand (time(NULL)); // rozpoczecie procesu losowania
  64.     dodawanie(); // wywolanie funkcji dodawnie - dodajacej elementy do tablicy
  65.     cout<<"Wylosowane elementy: ";
  66.     wyswietlanie(); //  wywolanie funkcji wyswietlanie - wyswietlajacej elementy tablicy
  67.     kopiec();  //  wywolanie funkcji kopiec - tworzacej kopiec
  68.     cout<<"Utworzony kopiec: ";
  69.     wyswietlanie(); //  wywolanie funkcji wyswietlanie - wyswietlajacej elementy tablicy (jako utworzony kopiec)
  70.     sort(); //  wywolanie funkcji sort - sortujacej
  71.     cout<<"Posortowane elementy: ";
  72.     wyswietlanie(); //  wywolanie funkcji wyswietlanie - wyswietlajacej elementy tablicy (jako posortowane od najmniejszego do najwiekszego)
  73. // pusta linijka
  74.     return 0; // zwrocenie wartosci 0 jesli program wykonal sie bez blednie
  75. }// zamkniecie "ciala calego programu"
Add Comment
Please, Sign In to add comment