Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <ctime>
- #include <cstdlib>
- using namespace std;
- struct element{
- int broj;
- element *sljedeci;
- };
- int generirajBroj(int polje[]){
- int broj = rand() % 21;//broj izme▒^▒u 0 i 20
- polje[broj]++;
- cout << "generirao se broj: " << broj << endl;
- return broj;
- }
- void unosListe(element *glava, int broj){
- element *novi, *zadnji;
- zadnji = glava;
- while(zadnji->sljedeci){
- zadnji = zadnji->sljedeci;
- }
- novi = new element;
- novi->broj = broj;
- novi->sljedeci = NULL;
- zadnji->sljedeci = novi;
- }
- void ispisListe(element *glava){
- element * e = glava->sljedeci;
- while(e){
- cout << e->broj << " ";
- e = e->sljedeci;
- }
- cout << endl;
- }
- bool imaUPolju(int a, int polje[]){
- for(int i=0; i<21; i++){
- if(polje[i] > 1){
- return true;
- }
- }
- return false;
- }
- void brisi(element* glava, int polje[]){
- element* e, *brisi, *prethodni;
- prethodni = glava;
- e = glava->sljedeci;
- bool prvi = true;
- while(e){
- for(int i=0; i<21; i++){
- if(polje[i] > 1){
- if(i == e->broj){
- if(prvi = false){
- prethodni->sljedeci = e->sljedeci;
- brisi = e;
- e = e->sljedeci;
- polje[i]--;
- delete brisi;
- }else{
- prvi = false;
- }
- }else{
- prethodni = e;
- e = e->sljedeci;
- break;
- }
- }else{
- return;
- }
- }
- }
- }
- int main(){
- int polje[21] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};//0-20 sto je 21 broj
- element *glava;
- glava->sljedeci = NULL;
- int n;
- srand(time(NULL));
- cout << "Unesite n:" << endl;
- cin >> n;
- for(int i=0; i<n; i++){
- unosListe(glava,generirajBroj(polje));
- }
- cout << "Orginalna lista: " << endl;
- ispisListe(glava);
- cout << "Bez duplikata: " << endl;
- brisi(glava, polje);
- ispisListe(glava);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement