Advertisement
dzocesrce

[APS] Big Numbers

Aug 28th, 2023
367
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.39 KB | None | 0 0
  1. //januari 2019 - termin 1
  2. import java.util.NoSuchElementException;
  3. import java.util.Scanner;
  4. class SLL<E> {
  5.     private SLLNode<E> first;
  6.  
  7.     public SLL() {
  8.         // Construct an empty SLL
  9.         this.first = null;
  10.     }
  11.  
  12.     public void deleteList() {
  13.         first = null;
  14.     }
  15.  
  16.     public int length() {
  17.         int ret;
  18.         if (first != null) {
  19.             SLLNode<E> tmp = first;
  20.             ret = 1;
  21.             while (tmp.succ != null) {
  22.                 tmp = tmp.succ;
  23.                 ret++;
  24.             }
  25.             return ret;
  26.         } else
  27.             return 0;
  28.  
  29.     }
  30.  
  31.     @Override
  32.     public String toString() {
  33.         String ret = new String();
  34.         if (first != null) {
  35.             SLLNode<E> tmp = first;
  36.             ret += tmp + " ";
  37.             while (tmp.succ != null) {
  38.                 tmp = tmp.succ;
  39.                 ret += tmp + " ";
  40.             }
  41.         } else
  42.             ret = "Prazna lista!!!";
  43.         return ret;
  44.     }
  45.  
  46.     public void insertFirst(E o) {
  47.         SLLNode<E> ins = new SLLNode<E>(o, first);
  48.         first = ins;
  49.     }
  50.  
  51.     public void insertAfter(E o, SLLNode<E> node) {
  52.         if (node != null) {
  53.             SLLNode<E> ins = new SLLNode<E>(o, node.succ);
  54.             node.succ = ins;
  55.         } else {
  56.             System.out.println("Dadenot jazol e null");
  57.         }
  58.     }
  59.  
  60.     public void insertBefore(E o, SLLNode<E> before) {
  61.  
  62.         if (first != null) {
  63.             SLLNode<E> tmp = first;
  64.             if(first==before){
  65.                 this.insertFirst(o);
  66.                 return;
  67.             }
  68.             //ako first!=before
  69.             while (tmp.succ != before)
  70.                 tmp = tmp.succ;
  71.             if (tmp.succ == before) {
  72.                 SLLNode<E> ins = new SLLNode<E>(o, before);
  73.                 tmp.succ = ins;
  74.             } else {
  75.                 System.out.println("Elementot ne postoi vo listata");
  76.             }
  77.         } else {
  78.             System.out.println("Listata e prazna");
  79.         }
  80.     }
  81.  
  82.     public void insertLast(E o) {
  83.         if (first != null) {
  84.             SLLNode<E> tmp = first;
  85.             while (tmp.succ != null)
  86.                 tmp = tmp.succ;
  87.             SLLNode<E> ins = new SLLNode<E>(o, null);
  88.             tmp.succ = ins;
  89.         } else {
  90.             insertFirst(o);
  91.         }
  92.     }
  93.  
  94.     public E deleteFirst() {
  95.         if (first != null) {
  96.             SLLNode<E> tmp = first;
  97.             first = first.succ;
  98.             return tmp.element;
  99.         } else {
  100.             System.out.println("Listata e prazna");
  101.             return null;
  102.         }
  103.     }
  104.  
  105.     public E delete(SLLNode<E> node) {
  106.         if (first != null) {
  107.             SLLNode<E> tmp = first;
  108.             if(first ==node){
  109.                 return this.deleteFirst();
  110.             }
  111.             while (tmp.succ != node && tmp.succ.succ != null)
  112.                 tmp = tmp.succ;
  113.             if (tmp.succ == node) {
  114.                 tmp.succ = tmp.succ.succ;
  115.                 return node.element;
  116.             } else {
  117.                 System.out.println("Elementot ne postoi vo listata");
  118.                 return null;
  119.             }
  120.         } else {
  121.             System.out.println("Listata e prazna");
  122.             return null;
  123.         }
  124.  
  125.     }
  126.  
  127.     public SLLNode<E> getFirst() {
  128.         return first;
  129.     }
  130.  
  131.     public SLLNode<E> find(E o) {
  132.         if (first != null) {
  133.             SLLNode<E> tmp = first;
  134.             while (tmp.element != o && tmp.succ != null)
  135.                 tmp = tmp.succ;
  136.             if (tmp.element == o) {
  137.                 return tmp;
  138.             } else {
  139.                 System.out.println("Elementot ne postoi vo listata");
  140.             }
  141.         } else {
  142.             System.out.println("Listata e prazna");
  143.         }
  144.         return first;
  145.     }
  146.  
  147. }
  148.  
  149. class SLLNode<E> {
  150.     protected E element;
  151.     protected SLLNode<E> succ;
  152.  
  153.     public SLLNode(E elem, SLLNode<E> succ) {
  154.         this.element = elem;
  155.         this.succ = succ;
  156.     }
  157.  
  158.     @Override
  159.     public String toString() {
  160.         return element.toString();
  161.     }
  162. }
  163. public class GolemiBroevi {
  164.     public static int soberi(SLL<Integer> lista1,SLL<Integer> lista2){
  165.         SLLNode<Integer> temp1= lista1.getFirst();
  166.         SLLNode<Integer> temp2= lista2.getFirst();
  167.         String broj1="";
  168.         String broj2="";
  169.         while(temp1!=null){
  170.             broj1= broj1+ temp1.element+"";
  171.             temp1=temp1.succ;
  172.         }
  173.         while(temp2!=null){
  174.             broj2= broj2+ temp2.element+"";
  175.             temp2=temp2.succ;
  176.         }
  177.         return Integer.parseInt(broj1)+Integer.parseInt(broj2);
  178.     }
  179.     public static void main(String[] args) {
  180.         SLL<Integer> lista1= new SLL<Integer>();
  181.         SLL<Integer> lista2= new SLL<Integer>();
  182.         Scanner input= new Scanner(System.in);
  183.         //int n= Integer.parseInt(input.nextLine());
  184.         String broevi= input.nextLine();
  185.         for(int i=0;i<broevi.length();i++){
  186.             lista1.insertLast(Integer.parseInt(broevi.substring(i,i+1)));
  187.         }
  188.         //int m= Integer.parseInt(input.nextLine());
  189.         broevi= input.nextLine();
  190.         for(int i=0;i<broevi.length();i++){
  191.             lista2.insertLast(Integer.parseInt(broevi.substring(i,i+1)));
  192.         }
  193.         System.out.println(soberi(lista1,lista2));
  194.     }
  195. }
  196. /*
  197. Vlez:
  198. 996
  199. 9
  200. Izlez:
  201. 1005
  202.  
  203. Vlez:
  204. 1234
  205. 5678
  206. Izlez:
  207. 6912
  208.  */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement