Advertisement
Guest User

subtrai.c

a guest
Mar 22nd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.78 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "subtrai.h"
  4.  
  5. int subtrai(lista *l1, lista *l2, lista *ls){
  6.     int x=10;
  7.     int temp,sub=0;
  8.     tno *n1;
  9.     tno *n2;
  10.     tno *ns;
  11.     n1=l1->cabeca;
  12.     n2=l2->cabeca;
  13.     ns=ls->cabeca;
  14.     //printf("%d\n",ns );
  15.     while (n1!=NULL){
  16.         /*if ((n1->num) < (n2->num)){
  17.             printf("oloco bicho\n");
  18.             if (ls->tam==0){
  19.                 temp=((n1->num)+x)-(n2->num);
  20.                 //printf("susu %d \n",temp);
  21.                 //insereprimeiro(ls,temp);
  22.                 //printf("%d\n",ns->num );
  23.                 n1->prox->num-=x;
  24.                 inserirlista(ls,temp);
  25.             }
  26.             else{
  27.                 temp=((n1->num)+x)-(n2->num);
  28.                 //insere(ls,temp-(n2->num));
  29.                 //printf("%d\n",ns->num);
  30.                 inserirlista(ls,temp);  
  31.                 n1->prox->num-=x;
  32.             }
  33.         }else
  34.             if (ns==NULL){
  35.                 insereprimeiro(ls,((n1->num))-(n2->num));
  36.                 printf("%d\n",ns->num );
  37.             }
  38.             else{
  39.                 insere(ls,(n1->num)-(n2->num));
  40.                 printf("%d\n",ns->num);
  41.             } */       
  42.         sub=(sub+n1->num)-(n2->num);
  43.         n1=n1->prox;
  44.         n2=n2->prox;
  45.         //x*=10;
  46.     }
  47.     /*while(ns!=NULL){
  48.         sub+=ns->num;
  49.         ns=ns->ant;
  50.     }*/
  51.     inserirlista(ls,sub);
  52.     imprimirlista(ls);
  53.  
  54.     return sub;
  55. }
  56.  
  57. int main(){
  58.         lista *l1=(lista *)malloc(sizeof(lista));
  59.         lista *l2=(lista *)malloc(sizeof(lista));
  60.         lista *ls=(lista *)malloc(sizeof(lista));
  61.         int n1,n2;
  62.         scanf("%d %d",&n1,&n2);
  63.         inicialista(l1);
  64.         inserirlista(l1,n1);
  65.         inicialista(l2);
  66.         inserirlista(l2,n2);
  67.         inicialista(ls);
  68.         concatena(l1,l2);
  69.         printf("a subtração é %d\n",subtrai(l1,l2,ls));  
  70.         printf("\n");  
  71.         imprimirlista(l1);    //    #imprime a lista 1 elemento por elemento dando inicio pela cabeça
  72.         imprimirlista(l2);    //    #imprime a lista 2 elemento por elemento dando inicio pela cabeça
  73.         //imprimirlista(ls);
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement