Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- std::deque<std::vector<double>>KreirajMat(int br_red,int br_kol){
- return std::deque<std::vector<double>>(br_red,std::vector<double>(br_kol));
- }
- std::vector<double>Podniz(std::vector<double>a,int pocetak, int kraj){
- // if(((kraj-pocetak)/2)%2!=0){
- std::vector<double>vrati ;
- int poc=pocetak;
- int kr=kraj;
- int suma1=0;
- int suma2=0;
- while(kraj>=pocetak){
- suma1+=a[pocetak];
- suma2+=a[kraj];
- pocetak++;
- kraj--;
- }
- if(suma1!=0 && suma2!=0 && suma1==suma2) {
- for(int i=poc; i<kr; i++){
- vrati.push_back(a[i]);
- }
- }
- return vrati;
- }
- std::deque<std::vector<double>> MaksimalniBalansiraniPodniz(std::vector<double>vek){
- std::deque<std::vector<double>>svi;//=KreirajMat(vek.size(),vek.size());//kreirat mat
- for(int i=0; i<vek.size(); i++){
- for(int j=i+1; j<vek.size(); j++){
- for(int k=i; k<svi[j].size()+i+1; k++){
- if(k<j)
- svi.push_back(Podniz(vek,i,j));
- }
- }
- }
- return svi;
- }
- int main ()
- {
- std::vector<double>vec ;
- int br;
- std::cout << "Unesite broj elemenata niza: " << std::endl;
- std::cin >> br;
- std::cout << "Unesite elemente niza: ";
- for(int i=0; i<br; i++){
- int broj;
- std::cin >> broj;
- vec.push_back(broj);
- }
- std::deque<std::vector<double>>balansirani=MaksimalniBalansiraniPodniz(vec);
- std::cout << "Maksimalni balansirani podnizovi:" << std::endl;
- for(int i=0; i<balansirani.size(); i++){
- for(int j=0; j<balansirani[i].size(); j++){
- std::cout << balansirani[i][j];
- }
- std::cout << std::endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement