Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "listas.h"
- void sumar(TLista *x, TLista *y, TLista *c);
- int main(){
- TLista a,b,c;
- init_list(&a);
- init_list(&b);
- init_list(&c);
- //1234
- insert_list_final(&a,1);
- insert_list_final(&a,2);
- insert_list_final(&a,3);
- insert_list_final(&a,4);
- print_list(&a);
- //219
- insert_list_final(&b,2);
- insert_list_final(&b,1);
- insert_list_final(&b,9);
- print_list(&b);
- sumar(&a,&b,&c);
- print_list(&c);
- return 0;
- }
- void sumar(TLista *x, TLista *y, TLista *c){
- int carry = 0;
- TLista a,b;
- init_list(&a);
- init_list(&b);
- invertir(x,&a);
- invertir(y,&b);
- printf("Hola\n");
- TNode *n1 = malloc(sizeof(TNode));
- TNode *n2 = malloc(sizeof(TNode));
- n1 = a.first; // a->first == (*a.first)
- n2 = b.first;
- while(n1 != NULL && n2 != NULL){
- insert_list_first(c,(n1->info + n2->info + carry)%10);
- carry = (n1->info + n2->info + carry) / 10;
- n1 = n1->next;
- n2 = n2->next;
- }
- while(n1 != NULL){
- insert_list_first(c,(n1->info + carry) % 10);
- carry = (n1->info + carry) / 10;
- n1 = n1->next;
- }
- while(n2 != NULL){
- insert_list_first(c,(n2->info + carry) % 10);
- carry = (n2->info + carry) / 10;
- n2 = n2->next;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement