Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<stdio.h>
- using namespace std;
- template <class Type>
- struct multiskup{
- int kapacitet;
- int broj_elemenata;
- char op;
- Type *polje;
- multiskup(){
- op='!';
- kapacitet=1;
- broj_elemenata=0;
- }
- multiskup(char oper){
- op=oper;
- kapacitet=1;
- broj_elemenata=0;
- }
- multiskup(int kap, char oper){
- op=oper;
- kapacitet=kap;
- broj_elemenata=0;
- }
- Type min(){
- int i,j;
- int br=0;
- Type min=polje[0]; //ovo je prvi*
- if(op=='>'){
- for(i=0; i<broj_elemenata; i++){
- min=polje[i];
- br=0;
- for(j=0; j<broj_elemenata; j++){
- if( !(min > polje[j]) && i!=j)
- br++;
- }
- if(br==broj_elemenata-1)return min;
- }
- }
- if(op=='<'){
- for(i=0; i<broj_elemenata; i++){
- min=polje[i];
- br=0;
- for(j=0; j<broj_elemenata; j++){
- if( !(min < polje[j]) && i!=j)
- br++;
- }
- if(br==broj_elemenata-1)return min;
- }
- }
- if(op=='!'){
- for(i=0; i<broj_elemenata; i++){
- min=polje[i];
- br=0;
- for(j=0; j<broj_elemenata; j++){
- if(!(min!=polje[j]) && i!=j)
- br++;
- }
- if(br==broj_elemenata-1)return min;
- }
- }
- return min; //vracam prvog ak takav ne postoji
- }
- int dodaj(Type element){
- int i;
- int br=0;
- if(op=='<')
- for(i=0; i<broj_elemenata; i++)
- if(element < polje[i])br++;
- if(op=='>')
- for(i=0; i<broj_elemenata; i++)
- if(element > polje[i])br++;
- if(op=='!')
- for(i=0; i<broj_elemenata; i++)
- if(element != polje[i])br++;
- if(br == broj_elemenata && broj_elemenata < kapacitet ){ //ispunjen je uvjet a
- polje[broj_elemenata]=element; //ova linija NIEJ DOBRA
- broj_elemenata++;
- for(i=0;i<broj_elemenata;i++)
- std::cout<<polje[i]<<" ";
- std::cout<<std::endl;
- return 1;
- }
- if(br==broj_elemenata && broj_elemenata==kapacitet){
- Type min_=min();
- for(i=0; i<broj_elemenata; i++)
- if(polje[i]==min_){
- polje[i]=element; //dali ce ovo uistinu promjeniti polje ili samo kopiju?
- return 1;
- }
- }
- return 0;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement