Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include "polinomios.h"
- int isEmpty(TLista L){
- return (L.numTerminos==0);
- }
- int tamanho(TLista L){
- return L.numTerminos;
- }
- void init(TLista *L){
- L->inicio=NULL;
- L->fin=NULL;
- L->numTerminos=0;
- }
- int BuscarCoef(int expoX,int expoY,TLista *L){
- TNodo *crtnodo=L->inicio;
- while(crtnodo!=NULL){
- if (crtnodo->expoX==expoX && crtnodo->expoY==expoY)
- return crtnodo->coef;
- crtnodo=crtnodo->sig;
- }
- return 0;
- }
- void insert(TLista *L,int coef,int expoX,int expoY){
- TNodo *nodo=malloc(sizeof(TNodo));
- nodo->coef=coef;
- nodo->expoX=expoX;
- nodo->expoY=expoY;
- if (isEmpty(*L)){
- L->inicio=nodo;
- L->fin=nodo;
- }
- else{
- L->fin->sig=nodo;
- L->fin=nodo;
- }
- (L->numTerminos)++;
- }
- void suma(TLista *A, TLista *B,TLista *C){
- TNodo *crtnodo=A->inicio;
- int coefB,coefC;
- while (crtnodo!=NULL){
- coefB=BuscarCoef(crtnodo->expoX,crtnodo->expoY,B);
- insert(C,crtnodo->coef+coefB,crtnodo->expoX,crtnodo->expoY);
- crtnodo=crtnodo->sig;
- }
- crtnodo=B->inicio;
- while(crtnodo!=NULL){
- coefC=BuscarCoef(crtnodo->expoX,crtnodo->expoY,C);
- if (coefC==0){
- insert(C,crtnodo->coef,crtnodo->expoX,crtnodo->expoY);
- }
- crtnodo=crtnodo->sig;
- }
- }
- void pprint(TLista *L){
- TNodo *crtnodo=L->inicio;
- printf("%d",crtnodo->coef);
- if (crtnodo->expoX==1){
- printf("x");
- }
- if (crtnodo->expoX>1){
- printf("x^%d",crtnodo->expoX);
- }
- if (crtnodo->expoY==1){
- printf("y");
- }
- if (crtnodo->expoY>1){
- printf("y^%d",crtnodo->expoY);
- }
- crtnodo=crtnodo->sig;
- while(crtnodo!=NULL){
- if (crtnodo->coef>0)
- printf("+");
- if (crtnodo->coef>1){
- printf("%d",crtnodo->coef);
- }
- if (crtnodo->expoX==1){
- printf("x");
- }
- if (crtnodo->expoX>1){
- printf("x^%d",crtnodo->expoX);
- }
- if (crtnodo->expoY==1){
- printf("y");
- }
- if (crtnodo->expoY>1){
- printf("y^%d",crtnodo->expoY);
- }
- crtnodo=crtnodo->sig;
- }
- printf("\n");
- }
Add Comment
Please, Sign In to add comment