
برنامه جمع و ضرب و تفریق دو چند جمله ای
این برنامه دو چند جمله ای را می گیرد جمع و تفریق و ضرب می کند .الگوریتم ساده ای دارد که با مشاهده کد خودتان به آن پی می برید و ممکن است بچه های گروه برق با malloc کردن آشنا نباشند وقتی شما یک آرایه تعریف می کنید هنگام تعریف طول آرایه را ذکر می کنید و ممکن است شما بخواهید هر بار که برنامه run می شود یک طول متفاوت به آرایه بدهید برای این کار از دستور malloc استفاده می شود به مثال زیر توجه کنید n طول آرایه است:
1 2 | int *a; a=(int *)malloc(sizeof(int)*n); |
با بقیه دستورات آشنایی دارید .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { int i,j,n,m,l,o,u; char x; printf("Enter degree of statment:"); scanf ("%d",&n); printf("Enter degree of other statment:"); scanf ("%d",&m); n++; m++; if(n>m) { l=n; n=m; m=l; } float *a; a=(float *)malloc(m*sizeof(float)); float *b; b=(float *)malloc(m*sizeof(float)); float *k; k=(float *)malloc(m*sizeof(float)); float *r; r=(float *)malloc((m*2)*sizeof(float)); for(i=0;i<m;i++) { a[i]=b[i]=k[i]=0; } for(i=0;i<m*2;i++) { r[i]=0; } for (i=0;i<n;i++) { printf("x^%d= ",i); scanf("%f",&a[i]); } printf("\nEnter next statment:\n"); for (j=0;j<m;j++) { printf("x^%d= ",j); scanf("%f",&b[j]); } printf("Enter calculate action{*,+,-}:"); scanf("%c",&x); scanf("%c",&x); printf("\n"); switch(x) { case '+': { for(l=m-1;l>=0;l--) { k[l]=a[l]+b[l]; if (k[l]!=0) { if(k[l]<0) { printf("%.1f(x^%d)",k[l],l); } else { printf("+%.1f(x^%d)",k[l],l); } } } break; } case '-': { for (l=m-1;l>=0;l--) { k[l]=a[l]-b[l]; if (k[l]!=0) { if(k[l]<0) { printf("%.1f(x^%d)",k[l],l); } else { printf("+%.1f(x^%d)",k[l],l); } } } break; } case '*': { for (l=0;l<m;l++) { for (o=0;o<m;o++) { r[o+l]+=a[o]*b[l]; } } for (u=2*m-1;u>=0;u--) { if (r[u]!=0) { if(r[u]<0) { printf("%.1f(x^%d)",r[u],u); } else { printf("+%.1f(x^%d)",r[u],u); } } } } break; } getch(); return 0; } |
این تمرین برای آموزش اشاره گر ها و کاربردشون عالیه.
خسته نباشید.
تشکر
ببخشید این قسمت برای چی هست؟!
ادامه برنامه با فرض بزرگتر بودن اندازه m نوشته شده و در این تکه کد هدف این بوده که اگر اندازه n بزرگتر از m است، مقادیر آن ها باهم عوض بشوند که فرض در هر حال درست باشد.
بسیار خوب
ممنون….
مخ ام اساسی گریپاژ کرده…. 🙁
سلام اگه بخوایم تقسیم رو هم به این اضافه کنیم باید چی کار کنیم اونم یه راهنمایی کنید…
تا حالا انجام ندادم ، نمی دونم ولی باید مسلما الگوریتم تقسیم چند جمله ای ها را پیاده سازی کنیم
میشه بگین الگوریتمش چطوریه؟
سایت خوبی دارید امید وارم روز به روز پله های هدفتونو به توان روز به روز بریو بالا
سپاس فراوان
سلام میشه کد همین برنامه رو با سی پلاس پلاس برام میل کنید ممنون میشم.
در چند روز آینده این مطلب بازنویسی و کد سی پلاس پلاس هم اضافه میشه
سلام. ضمن تشکر از کد هاتون.
چطور میشه برنامه ی انتگرال و مشتق یه چندجمله ای رو با استفاده از لیست پیوندی نوشت؟
یه ایده میدین؟
قبل از انجام عملیات های ریاضی تعداد جملات و ضرایب چندجمله ای مشخص میشه و میتونید برای نگهداری اون ها از آرایه پویا استفاده کنید و دردسر های کار با اشاره گرها رو متحمل نشید!
در هر حال، امیدواریم بتونیم مطلب رو در چند روز آینده بازنویسی و کامل بکنیم که انتگرال و مشتق رو هم شامل بشه.
برو سراغ جدول هورنر
سلام ممنون از سایت خوبتون میشه این برنامرو به زبان ++C هم ترجمه کنید ممنون
سلام ، ۹۹ درصد شبیه هم اند فقط کافی بریزیش در یک پروژه سی پلاس پلاس
سلام میشه تساوی دو چندجمله ای (سربارگذاری عملگر ==)در زبان c+ را بگید .ممنون
سلام میخواستم برنامه واسه لیست پیوندی دارو داشته باشم
به پست لینک لیست بروید
سلام .امکانش هست جمع و تفریق چند جمله ایها با لیست پیوندی رو بگذارید.ممنون میشم
به پست لینک لیست در همین وبسایت بروید و با این برنامه ترکیبش کنید
سلام ممنون از سایت خوبتون
اگه امکان داشته باشه من برنامه ساده کردن یک چند جمله ای رو میخواستم ممنون
سلام مرسی از مبسایت خوبتون.من ترم ۳ رشته ای تی هستم استاد ساختمان داده ها گفته پروژه چند جمله ای بیارین منم هیچی یاد ندارم شما پروژه ساده ای دارین؟
متاسفانه در این مورد پروژه خاصی ندارم
ببخشین این برنامه جمع و تفریق دو چند جمله ای با استفاده از لیست پیوندیه؟
میثم : خیر با استفاده از آرایه است ، آرایه پویا.
ممنون از وب خوبتون……
تشکر می کنم بابت نظرتون.
سلام من برنامه ی ضرب یک عدد ثابت در یک چند جمله ای رو می خوام
کافی اون عدد ضرب در آرایه ضرایب کرد.