Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // FUNKCIJA ZA DELJENJE
- public static ArrayList<Integer> deljeno(ArrayList<Integer> a, ArrayList<Integer> b){
- ArrayList<Integer> div = new ArrayList<Integer>();
- ArrayList<Integer> prvi = new ArrayList<Integer>();
- ArrayList<Integer> drugi = new ArrayList<Integer>();//(ArrayList<Integer>) b.clone();
- ArrayList<Integer> kolicnik = new ArrayList<Integer>();
- if(b.size() > a.size()){ // če je a krajši od b -> rezultat je 0
- kolicnik.add(0);
- return kolicnik;
- }
- int stevec = 0;
- for(int k = 0; k < b.size(); k++){ // naš 'deljenec' dobi toliko členov, kolikor dolg je delitelj
- prvi.add(a.get(k));
- }
- /*for(Integer i : prvi)
- System.out.print(i);*/
- int konec = b.size();
- boolean mozno = false;
- boolean dost = false;
- while(true){
- // ali je prvi/b možno?
- if(prvi.size() > b.size()){
- mozno = true;
- }else{
- if(prvi.size() < b.size()){
- mozno = false;
- }else{ // če sta enako dolga
- mozno = true;
- for(int i = 0; i < prvi.size(); i++){
- if(prvi.get(i) < b.get(i)){
- mozno = false; // če padem sm, pomeni, da morm dodat cifro deljencu
- break;
- }
- }
- }
- }
- System.out.print(mozno);
- if(mozno){ // če je možno delit trenutne vrednosti
- System.out.print("if");
- while(dost == false){ // tukej se odšteva in povečuje števec
- System.out.print("ciklam");
- div = minus(prvi, b);
- for(int q = 0; q < div.size(); q++){
- if(div.get(q) < 0){
- dost = true;
- q = div.size();
- }
- }
- if(dost){ // če je odštel preveč (div je < 0) neham odštevat
- div = plus(div, b);
- dost = true;
- //break;
- }else{
- stevec++;
- dost = false;
- }
- }
- }
- System.out.print("zunej");
- // dodam rezultat
- kolicnik.add(stevec);
- stevec = 0;
- mozno = false;
- dost = false;
- // če ni možno delit//ko ni več možno odštevat - povečam deljenca (prvi)
- // najprej pobrišem vse 0 spred
- if(div.get(0) == 0){
- for(int i = 0; i < div.size(); i++){
- if(div.get(i) != 0)
- prvi.add(div.get(i));
- }
- div.clear();
- }else{
- prvi = (ArrayList<Integer>) div.clone();
- }
- if(konec >= a.size()){
- break; // če padem tle not, pomen da je konec (celoštevilskega)deljenja
- }else{
- prvi.add(a.get(konec));
- konec++;
- }
- }
- return kolicnik;
- }
Add Comment
Please, Sign In to add comment