Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- #include <ctime>
- using namespace std;
- //Zadanie 1
- const int N = 10;
- int dane[N];
- void init1()
- { //inicjalizacja tablicy do zadania 1
- srand( time( NULL ) );
- for(int i=0; i<N;i++)
- dane[i]=rand()%10;
- }
- int podziel()
- {
- int lewy = 0;
- int prawy = N-1;
- int x = dane[lewy];
- int i = lewy;
- int j = prawy;
- while(true)
- {
- while(dane[j] > x)
- j--;
- while(dane[i] < x)
- i++;
- if(i < j)
- {
- swap(dane[i],dane[j]);
- i++;
- j--;
- }
- else
- return j; //pkt podzialu tablicy
- }
- }
- void drukuj()
- {
- for(int i = 0; i< N; i++)
- cout<<dane[i]<< " ";
- cout<<endl;
- }
- void zadanie1()
- {
- init1();
- drukuj();
- int index = podziel();
- cout<<"tab["<<index<<"] = "<< dane[index]<<endl;
- drukuj();
- }
- //Zadanie 2
- struct element
- {
- char wart;
- element *next;
- };
- element *head=NULL;
- void dodaj(char c)
- {
- element *n = new element;
- n->wart = c;
- if(head == NULL)
- n->next = 0;
- else
- n->next = head;
- head = n;
- }
- void usun(char z)
- {
- if(head == NULL)
- cout<<"Lista pusta"<<endl;
- else if(head->wart == z)
- {
- element *p = head->next;
- delete head;
- head = p;
- }
- else
- {
- element *p, *n;
- p = head;
- n = head->next;
- while(n!=0 && n->wart != z)
- {
- p = n;
- n = n->next;
- }
- if(n!=0)
- {
- p->next = n->next;
- delete n;
- }
- }
- }
- void drukujL()
- {
- element *p = head;
- while(p!=0)
- {
- if(p->next != 0)
- cout<<p->wart<<" -> ";
- else
- cout<<p->wart;
- p = p->next;
- }
- cout<<endl;
- }
- void zadanie2()
- {
- dodaj('d');
- dodaj('j');
- dodaj('l');
- dodaj('h');
- dodaj('a');
- dodaj('a');
- dodaj('k');
- drukujL();
- usun('h');
- usun('a');
- usun('k');
- usun('k');
- usun('l');
- usun('j');
- usun('d');
- drukujL();
- }
- int main(){
- zadanie1();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement