به خاطر غیبت چند روزه عذر می خوام
در مورد فرمایشات سالک جان من از این به بعد روز های چهار شبنه دو یا سه تا تمرین می زارم روز های یک شنبه یه راهنمایی می کنم و روز چهار شبنه بعد جوابش رو به همراه تمرین جدید می زارم
به نظرم اگه به تمرین ها بر گردیم بهتره
البته شاید روز هاش بد باشه ولی متاسفانه من بقیه روز ها خیلی سر شلوغه
دوستان جواب تمرین رو پیغام خصوصی بفرستن روز چهار شنبه بعد جواب های همه رو توی تاپیک پست می کنم البته اگه کسی خواست جوابش رو پست نمی کنم
تمرین اول یه روش مرتب سازی برای ارایه ها هست که می خوام برنامش رو بنویسید روش کار اینطوریه
فرض کنید ما این عدد ها رو داریم
کد:
100 , 61, 2 ,4 ,15 , 27 , 11
اول عدد ها رو بر اساس رقم یکان مرتب می کنم
عدد های مرتب شده به این صورت می شه
کد:
100 , 61, 11 ,2 , 4 , 15 , 27
دقت کنید عدد هایی که رقم یکانشون یکی هست رو به همون ترتیبی که در ارایه اصلی اومدن اینجا می نویسم مثلا 61 رو قبل از 11
حالا چون بعضی عدد ها رقم ده گاه دارن مرحله دوم قبل رو برای رقم ده گاه انجام می دیم دقت داشته باشد که عدد های تک رقمی رقم دهگانشون صفر هست
کد:
100, 2, ,4 ,11 , 15 ,27 , 61
و چون بعضی عدد ها رقم صد گان دارن مرحله قبل رو برای رقم صد گان تکرار می کنیم و لیست این شکلی می شه
کد:
2, ,4 ,11 , 15 ,27 , 61 ,100
و چون هیچ عدد رقمی بالا تر از صد گان نداره مرتب سازی تمومه و لیست مرتبه
حالا شما برنامه ای بنویسید که ایم روش رو برای یه لیست هزاراتایی از اعداد که به صورت رندم پر شده انجام بده
تمرین دوم
یه تابع نویسید که دوتا رشته دریافت کنه و نوع خوروجش یه عدد صحیح باشه
این تابع باید محل رشته دوم رو توی رشته اول پیدا کنه و بر گردونه البته تا اینجاش زیادی ساده است فقط یه نکته
که نباید از هیچ نوع متغییری به جز اشاره گر استفاده کنید از تخصیص حافظه پویا هم نمی تونید استفاده کنید
جواب اون تمرین حذف گوچتر از میانگین رو هم می زارم
کد:
#include <iostream>
#include <conio.h>
#include <iomanip>
using namespace std;
const int MAX=10;
int main(void)
{
int n[MAX],j=0,avg;
for(int i=0 ; i < MAX ; ++i)
{
cout<<"enter "<<(i+1)<<"th number: ";
cin >> n[i];
j+=n[i];
}
avg=j/MAX;
j=0;
for(int i=0 ; i < MAX ; ++i)
if(n[i]>=avg)
n[j++]=n[i];
for(int i=0 ; i < j ; ++i)
cout<<n[i]<<setw(3);
getch();
return 0;
}