برنامه ای بنویسید که تعدادی داده را از ورودی بگیرد و میانه ی آنها را محاسبه کرده،در خروجی چاپ کند. این سوال جز سوالات پر تکرار کاربران سایت میباشد. در این پست جواب این سوال رو آماده کردیم که با عنوان سورس محاسبه میانه در سی پلاس پلاس منتشر میکنیم. مدتی هست که در سایت سورس کد سی پلاس پلاس بیشتر از بقیه زبان های برنامه نویسی منتشر میکنیم چون به انتهای ترم دانشگاهی نزدیک میشویم و کاربران به سورس کدها نیاز دارند. سعی کنید از این سورس کدها در جهت آموزش برنامه نویسی سی پلاس پلاس استفاده کنید.
میانه چیست ؟
میانه ی یک مجموعه برابر است با مقداری که مجموعه را به دو بخش مساوی تقسیم میکند بطوری که تعداد مقادیر مساوی یا بزرگتر از آن با تعداد مقادیر کوچکتر یا مساوی آن برابر باشد.
نکات :
- قبل از محاسبه ابتدا باید داده ها را به صورت صعودی مرتب کنیم.
- اگر تعداد داده ها زوج باشد میانه برابر است با میانگین دو عدد وسطی.(البته بعد از مرتب سازی)
توضیحات سورس کد محاسبه میانه در سی پلاس پلاس :
در این برنامه سه تابع نوشته شده است:
- تابع enter برای دریافت داده ها از کاربر.
- تابع sort برای مرتب کردن داده های وارد شده.
- تابع middle برای محاسبه و برگرداندن نتیجه ی نهایی
سورس کد محاسبه میانه در سی پلاس پلاس
#include<iostream> #include<conio.h> float middle(int [],int); void sort(int[],int); void enter(int*&,int); using namespace std; main() { int* a; int n; cout<<"enter n:"; cin>>n; enter(a,n); sort(a,n); cout<<"middle="<<middle(a,n); getch(); return 0; } //********** void sort(int a[],int n) { int temp; int i,j; for(i=1;i<n;i++) { for(j=0;j<n-i;j++) { if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; }//end of if }//end of enternal for }//end of external for }//end of sort() //********** void enter(int* &a,int n) { a=new int[n]; for(int i=0;i<n;i++) { cout<<"a["<<i<<"]="; cin>>a[i]; } }//end of enter() //********** float middle(int a[],int n) { float mid; if(n%2==0) mid=float(a[n/2]+a[(n/2)-1])/2; else mid=a[(n/2)]; return mid; }//end of middle() //> sourceiran.com
دیدگاه کاربران
تعداد دیدگاه های کاربران : ۰ دیدگاه