Untitled
unknown
plain_text
2 years ago
1.8 kB
7
Indexable
#include<stdio.h> int print(int p, int e, int idx){ char x[10]; if (e==0) sprintf(x,""); else if (e==1) sprintf(x,"x"); else sprintf(x,"x^%d",e); if(idx==0) { // first if(e==0) { if (p== 1) printf("1"); else if (p== 0) printf("0"); else if (p==-1) printf("-1"); else printf("%d",p); } else{ if (p== 1) printf("%s",x); else if (p== 0) printf("0"); else if (p==-1) printf("-%s",x); else printf("%d%s",p,x); } } else { if(e==0) { if (p> 1) printf(" + %d%s",p,x); else if (p== 1) printf(" + 1"); else if (p== 0) ; // impossible else if (p==-1) printf(" - 1"); else printf(" - %d%s",-p,x); } else { if (p> 1) printf(" + %d%s",p,x); else if (p== 1) printf(" + %s",x); else if (p== 0) ; else if (p==-1) printf(" - %s",x); else printf(" - %d%s",-p,x); } } } int main() { int a[9]; int i; while(scanf("%d%d%d%d%d%d%d%d%d",&a[8],&a[7],&a[6],&a[5],&a[4],&a[3],&a[2],&a[1],&a[0])!=EOF) { int p[9]; //polyn int e[9]; //exp int pos=0; for(i=8;i>=0;i--){ if(a[i]!=0 || (i==0 && pos==0) ){ p[pos]=a[i]; e[pos]=i; pos++; } } for(i=0;i<pos;++i) { //printf("(%d %d) ", p[i], e[i]); print(p[i], e[i], i); } printf("\n"); } return 0; }
Editor is loading...
Leave a Comment