Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream> // Wczytanie biblioteki iostream
- #include <ctime> // Wczytanie biblioteki ctime
- //pusta linijka
- using namespace std; // Dzieki temu nie trzeba przy kazdym cout / cin wpisywac std;
- //pusta linijka
- const int n=11; // ustawienie stalej (integer = liczba calkowita)na wartosc 10;
- int k=n; // ustawienie zmiennej k (integer = liczba calkowita) na identyczna wartosc jak stala n (czyli 10)
- int tab[n]; // stworzenie n-elementowej tablicy (integer = liczba calkowita)
- int a,b,c;
- void kopiec() // tworzenie funkcji kopiec - odpowiadajacej za utworzenie kopca
- {
- for(int i=2;i<=n;i++)
- {
- a=i;
- b=a/2;
- while((tab[a]>tab[b])&&(b>0)) // wykonywanie petli "while" dopoki "potomek" jest wiekszy niz "ojciec" oraz indeks ojca jest wiekszy niz 0;
- {
- c=tab[a];
- tab[a]=tab[b];
- tab[b]=c;
- a=b;
- b=a/2;
- }
- }
- }
- void sort() // stworzenie funkcji sortujacej
- { // otwarcie "ciala" funkcji sort
- int a; // stworzenie zminnej (integer = liczba calkowita) a;
- 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;
- { // otwarcie "ciala" petli for;
- 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;
- { // otwarcie "ciala" petli for;
- if (tab[j]>tab[j+1]) // Stworzenie instrukcji warunkowej if, odpowiadajacej za sprawdzanie czy sprawdzany element jest wiekszy niz nastepny;
- { // otwarcie "ciala" instrukcji warunkowej if;
- a=tab[j+1]; // przpisanie wartosci tab[j+i] do zmiennej a;
- tab[j+1]=tab[j]; // przpisanie wartosci tab[j] do nastepnego elementu tablicy;
- tab[j]=a; // przpisanie wartosci zmiennej a do sprawdzanego elementu tablicy;
- } // zamkniecie "ciala" instukcji warunkowej if;
- } // zamkniecie "ciala" petli for operujacej na zmiennej j;
- k=k-1; // zmniejszanie zmiennej k o 1, tak aby dla kazdego elementu tablicy tab, petla for od j wykonywala sie mniej razy;
- } // zamkniecie "ciala" petli for operujacej na zmiennej i;
- } // zamkniecie "ciala" funkcji sort;
- void dodawanie() // stworzenie funkcji dodawanie, odpowiadajacej za dodawanie elementow do tablicy tab;
- { // otwarcie "ciala" funkcji dodawanie
- int b; // stworzenie zmiennej integer (liczba calkowita) b;
- 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;
- { // otwarcie "ciala" petli for
- b=rand()%100 +1; // przypisanie do zmiennej b losowej wartosci z przedzialu 0-100
- tab[i]=b; // przypisanie to elementu tablicy, wartosci zmiennej b
- } // zamkniecie "ciala" petli for
- } // zamkniecie "ciala" funkcji dodawanie
- void wyswietlanie() // stworzenie funkcji wyswietlanie, odpowiadajacej za wyswietlenie elementow tablicy;
- { // otwarcie "ciala" funkcji wyswietlanie
- 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;
- {// otwarcie "ciala" petli for
- cout<<tab[i]<<" "; // wyswietlenie elementu tablicy, a po nim wyswietlenie znaku Spacebar
- }// zamkniecie "ciala" petli for
- cout<<endl;
- } // zamkniecie "ciala" funkcji wyswietlanie
- int main () // Cialo calego programu
- { // otwarcie "ciala calego programu"
- srand (time(NULL)); // rozpoczecie procesu losowania
- dodawanie(); // wywolanie funkcji dodawnie - dodajacej elementy do tablicy
- cout<<"Wylosowane elementy: ";
- wyswietlanie(); // wywolanie funkcji wyswietlanie - wyswietlajacej elementy tablicy
- kopiec(); // wywolanie funkcji kopiec - tworzacej kopiec
- cout<<"Utworzony kopiec: ";
- wyswietlanie(); // wywolanie funkcji wyswietlanie - wyswietlajacej elementy tablicy (jako utworzony kopiec)
- sort(); // wywolanie funkcji sort - sortujacej
- cout<<"Posortowane elementy: ";
- wyswietlanie(); // wywolanie funkcji wyswietlanie - wyswietlajacej elementy tablicy (jako posortowane od najmniejszego do najwiekszego)
- // pusta linijka
- return 0; // zwrocenie wartosci 0 jesli program wykonal sie bez blednie
- }// zamkniecie "ciala calego programu"
Add Comment
Please, Sign In to add comment