💬 #چالش
نوشتن این سری در سی پلاس پلاس!
🟢کد، سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید!
نوشتن این سری در سی پلاس پلاس!
🟢کد، سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید!
درود به همه دانشجویان و علاقه مندانی که عضو شدند! لطفا آیدی چنل رو به دیگر دوستانتون بدید عضو شوند که ماهم پرقدرت کارمون رو شروع کنیم!
فعالیت های ما:
-آموزش بهینه سی پلاس پلاس به زبان ساده
-دارای چالش و مثال به همراه کُد و توضیحات
-برگزاری مسابقات کوچک و ساده الگوریتم و سی پلاس پلاس به همراه جوایز نقدی
-حل تمارین و سوالات کنکور ارشد
مارا به دوستان خود معرفی کنید
@tphunterscpp
فعالیت های ما:
-آموزش بهینه سی پلاس پلاس به زبان ساده
-دارای چالش و مثال به همراه کُد و توضیحات
-برگزاری مسابقات کوچک و ساده الگوریتم و سی پلاس پلاس به همراه جوایز نقدی
-حل تمارین و سوالات کنکور ارشد
مارا به دوستان خود معرفی کنید
@tphunterscpp
Tp hunters cpp pinned «درود به همه دانشجویان و علاقه مندانی که عضو شدند! لطفا آیدی چنل رو به دیگر دوستانتون بدید عضو شوند که ماهم پرقدرت کارمون رو شروع کنیم! فعالیت های ما: -آموزش بهینه سی پلاس پلاس به زبان ساده -دارای چالش و مثال به همراه کُد و توضیحات -برگزاری مسابقات کوچک و ساده…»
Tp hunters cpp
💬 #چالش نوشتن این سری در سی پلاس پلاس! 🟢کد، سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید!
🧠 #کد_چالش
#include<iostream>
using namespace std;
double tavan(int a, int b);
int factoriel(int n);
int main(){
int x,y;
double s=0;
int k=1;
cout<<"lotfan adad morede nazar ra vared konid:";
cin>>x;
cout<<"lotfan seri donbale ra vared konid:";
cin>>y;
for(int i=1; i<=y; i=i+2){
s=s+k*tavan(x,i)/factoriel(i);
k=-k;
}
cout<<s<<endl;
}
double tavan(int a, int b){
int t=1;
for(int i=1; i<=b; i++){
t=t*a;
}
return t;
}
int factoriel(int n){
if(n==0){
return 1;
}
if(n==1){
return 1;
}
else{
return n*factoriel(n-1);
}
}
🟢کد و سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید!
Tp hunters cpp
🧠 #کد_چالش #include<iostream> using namespace std; double tavan(int a, int b); int factoriel(int n); int main(){ int x,y; double s=0; int k=1; cout<<"lotfan adad morede nazar ra vared konid:"; cin>>x; cout<<"lotfan seri donbale ra vared konid:";…
💬 #شرح_کد
درود دوستان اولا که پیشاپیش سال نوی همگی مبارک و دوما تشکر از وقتی که میزارید برای حل مثال ها و خوندن آموزش و کُد ها(البته این وقت همش صرف پیشرفت اطلاعاتی و یادگیری شما میشه😉)
خوب بریم سراغ شرح این کد و چالش
دقت کنید نوشتن این سِری مک لورین سینوسی خیلی سادس اما یک سری نکات ریز و جالبی رو بین خودش داره
اون نکات این هستش که باید محاسبه فاکتوریل، توان، و بسط میانی مثبت منفی رو بلد باشید(یک نکته ریز بسیار یاده دیگری هم داخل تقسیم هست که بهتون میگم)
خوب شروع میکنیمبه شرح کدمون
اول از همه میایم تابع توانمون رو مینیویسیم که بسیار سادس و با یک حلقه فور نوشته شده
پایین تر از اون تابع فاکتوریل هست که به صورت بازگشتی نوشته شده و از اِستَک استفاده میکنه(مفهوم استک رو هم براتون توضیح میدیم) دقت کنید اگرنخواید این برنامه رو به صورت تابع بنویسید کدتون داخل تابع اصلی به شدت پیچیده و سخت میشه!
خوب بریم از تابع اصلی بیایم پایین ببینیم چیا داریم
داخل این سِری سینوسی ما یه عدد میخوایم که روی اون محاسبات انجام شه(داخل کد x) و یک term یا درجه سری یا توان سری میخوایم که به اندازه اون عدد محاسبه داشته باشیم(داخل کد y)! خوب حالا میایم داخل حلقه فورمون مقدار i ما باید تا y بره، چرا؟ چون که ما گفتیم درجمون باید تا y ادامه پیدا کنه!
میریم پایین داخل حلقه. همونطور ک میدونید ما باید یه بسطی رو باهم جمع و تفریق کنیم بنابر این یه متغییر به مقدار 0 (اینجا s ) ذخیره میکنیم که هربار مقدار قبلی رو با خودش جمع کنه و تا اخر حلقه اینکار ادامه پیدا میکنه
حالا میرسیم به اون نکته بسط مثبت منفی که گفتم! دقت کنید سِری ما یکی در میون مثبت و منفیه
برای اینکار باید چیکار کنیم؟
خوب اگر سِری ما همش مثبت بود ک خیلی ساده بود همین کدو میزدیم میرفت اما اینطور نیست :(
طبق قانون ضرب هممون میدونیم یک ضربدر هر عددی خودش میشه و منفی یک قرینش!
پس برای اینکار یه k با مقدار یک تعریف کردم که هربار میاد داخل فور به اون فرمولمون ضرب میشه
و پایین تر اومدم نوشتم
K=-k
این ینی چی؟
این ینی این که یک بار k مثبت میشه و یک بار منفی که وقتی داخل فرمولمون بره دقیقا همون مثبت منفی میاد بیرون
و در آخر s رو که مجموع تابعمون بوده چاپ میکنیم
یه چند تا نکته ریز دیگه ای ام ک باید بگم اینه که دقت کنید داخل تابع توانی که تعریف کردم آرگومان اول x شده آرگومان دوم i و تقسیم بر فاکتوریل i شده! چرا؟ خوب عزیز دل من ما به ترتیب از یک داریم میریم تا اون درجمون y دیگه! و در آخر نکته خیلی مهمی ک باید بگم اینه که اگر دقت کنید من خروجی تابع تقسیمم رو double و متغیر s رو هم دابل گذاشتم! چرا؟
چون وقتی تقسیم دوتا عدد صحیح برهم دیگه جوابش صحیح میشه
بنابر این باید یکیشون اعشاری باشه که جوابمونم اعشاری بشه و S چون جواب آخرمونه هم باید دابل تعریف بشه که اون اعشار داخلش ذخیره بشه!
امیدوارم که سودمند بوده باشه و استفاده کرده باشید!
🟢سوالات، کد و نظرات خود را برای ما کامنت کنید یا داخل گروه بفرستید
درود دوستان اولا که پیشاپیش سال نوی همگی مبارک و دوما تشکر از وقتی که میزارید برای حل مثال ها و خوندن آموزش و کُد ها(البته این وقت همش صرف پیشرفت اطلاعاتی و یادگیری شما میشه😉)
خوب بریم سراغ شرح این کد و چالش
دقت کنید نوشتن این سِری مک لورین سینوسی خیلی سادس اما یک سری نکات ریز و جالبی رو بین خودش داره
اون نکات این هستش که باید محاسبه فاکتوریل، توان، و بسط میانی مثبت منفی رو بلد باشید(یک نکته ریز بسیار یاده دیگری هم داخل تقسیم هست که بهتون میگم)
خوب شروع میکنیمبه شرح کدمون
اول از همه میایم تابع توانمون رو مینیویسیم که بسیار سادس و با یک حلقه فور نوشته شده
پایین تر از اون تابع فاکتوریل هست که به صورت بازگشتی نوشته شده و از اِستَک استفاده میکنه(مفهوم استک رو هم براتون توضیح میدیم) دقت کنید اگرنخواید این برنامه رو به صورت تابع بنویسید کدتون داخل تابع اصلی به شدت پیچیده و سخت میشه!
خوب بریم از تابع اصلی بیایم پایین ببینیم چیا داریم
داخل این سِری سینوسی ما یه عدد میخوایم که روی اون محاسبات انجام شه(داخل کد x) و یک term یا درجه سری یا توان سری میخوایم که به اندازه اون عدد محاسبه داشته باشیم(داخل کد y)! خوب حالا میایم داخل حلقه فورمون مقدار i ما باید تا y بره، چرا؟ چون که ما گفتیم درجمون باید تا y ادامه پیدا کنه!
میریم پایین داخل حلقه. همونطور ک میدونید ما باید یه بسطی رو باهم جمع و تفریق کنیم بنابر این یه متغییر به مقدار 0 (اینجا s ) ذخیره میکنیم که هربار مقدار قبلی رو با خودش جمع کنه و تا اخر حلقه اینکار ادامه پیدا میکنه
حالا میرسیم به اون نکته بسط مثبت منفی که گفتم! دقت کنید سِری ما یکی در میون مثبت و منفیه
برای اینکار باید چیکار کنیم؟
خوب اگر سِری ما همش مثبت بود ک خیلی ساده بود همین کدو میزدیم میرفت اما اینطور نیست :(
طبق قانون ضرب هممون میدونیم یک ضربدر هر عددی خودش میشه و منفی یک قرینش!
پس برای اینکار یه k با مقدار یک تعریف کردم که هربار میاد داخل فور به اون فرمولمون ضرب میشه
و پایین تر اومدم نوشتم
K=-k
این ینی چی؟
این ینی این که یک بار k مثبت میشه و یک بار منفی که وقتی داخل فرمولمون بره دقیقا همون مثبت منفی میاد بیرون
و در آخر s رو که مجموع تابعمون بوده چاپ میکنیم
یه چند تا نکته ریز دیگه ای ام ک باید بگم اینه که دقت کنید داخل تابع توانی که تعریف کردم آرگومان اول x شده آرگومان دوم i و تقسیم بر فاکتوریل i شده! چرا؟ خوب عزیز دل من ما به ترتیب از یک داریم میریم تا اون درجمون y دیگه! و در آخر نکته خیلی مهمی ک باید بگم اینه که اگر دقت کنید من خروجی تابع تقسیمم رو double و متغیر s رو هم دابل گذاشتم! چرا؟
چون وقتی تقسیم دوتا عدد صحیح برهم دیگه جوابش صحیح میشه
بنابر این باید یکیشون اعشاری باشه که جوابمونم اعشاری بشه و S چون جواب آخرمونه هم باید دابل تعریف بشه که اون اعشار داخلش ذخیره بشه!
امیدوارم که سودمند بوده باشه و استفاده کرده باشید!
🟢سوالات، کد و نظرات خود را برای ما کامنت کنید یا داخل گروه بفرستید
درود خدمت دوستان عزیز
سال نوی همگی مبارک
اول از همه
امیدوارم که سالی پر سود و پر پول داشته باشید
دوما
سلامتی و شادی کنار خانواده هاتون
تیم تیپی هانترز میخواد توی سال جدید براتون بترکونه ، منتظر ما باشید
پیشاپیش سال نوی همگی مبارک❤
@tphunterscpp
@tphunters
سال نوی همگی مبارک
اول از همه
امیدوارم که سالی پر سود و پر پول داشته باشید
دوما
سلامتی و شادی کنار خانواده هاتون
تیم تیپی هانترز میخواد توی سال جدید براتون بترکونه ، منتظر ما باشید
پیشاپیش سال نوی همگی مبارک❤
@tphunterscpp
@tphunters
💬 #چالش
اولین چالش 1400 :)
نوشتن کد این شکل(مثلث) در سی پلاس پلاس!
به صورتی که یک عدد بگیرد و به اندازه آن عدد این مثلث را چاپ کند(در مثال عدد 10 قرار داده شده)
🟥درجه سختی: آسان
🟢کد, سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید!
اولین چالش 1400 :)
نوشتن کد این شکل(مثلث) در سی پلاس پلاس!
به صورتی که یک عدد بگیرد و به اندازه آن عدد این مثلث را چاپ کند(در مثال عدد 10 قرار داده شده)
🟥درجه سختی: آسان
🟢کد, سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید!
Tp hunters cpp
💬 #چالش اولین چالش 1400 :) نوشتن کد این شکل(مثلث) در سی پلاس پلاس! به صورتی که یک عدد بگیرد و به اندازه آن عدد این مثلث را چاپ کند(در مثال عدد 10 قرار داده شده) 🟥درجه سختی: آسان 🟢کد, سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید!
🧠 #کد_چالش
🟢کد, سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید
#include<iostream>
using namespace std;
int main(){
int x;
cout<<"lotfan serie adad ra vared konid: ";
cin>>x;
for(int i=1; i<=x; i++){
for(int j=1; j<=i; j++){
cout<<"*";
}
cout<<endl;
}
}
🟢کد, سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید
Tp hunters cpp
🧠 #کد_چالش #include<iostream> using namespace std; int main(){ int x; cout<<"lotfan serie adad ra vared konid: "; cin>>x; for(int i=1; i<=x; i++){ for(int j=1; j<=i; j++){ cout<<"*"; } cout<<endl; } } 🟢کد, سوالات و نظرات خود را…
💬 #شرح_کد
خوب مستقیم بریم برای شرح کدمون
اولا که میخواستم با تابع بنویسم که کلا یادم رفت حالا شما سعی کنید برای تمرین بیشتر با تابع بنویسیدش که تسلطتون بره بالا, بریم برای تحلیل
اولا ک ما یه عدد میخوایم که مثل مثال قبل درجه یا terms ما باشه که اینجا با x نشون داده شده و از کاربر میگیریمش این عدد برای اینه که به تعداد اون ضلع اصلی و قاعده و وتر مثلث ما چاپ بشه که توی این مثال مثلا بهش 10 دادیم
خوب این مثال هم دوتا نکته داره که دباره میخوایم وارد مقوله آموزشی بشییم که اون تا نکته اش هم حلقه های تو در تو که خیلی ها مشکل دارند و حلقه های وابسته به هم هست. حلقه های تو در تو که از اسمشون مشخصه یعنی چند تا حلقه داخل هم و حلقه های وابسته به هم که از اسمشون مشخصه ینی کاملا به هم مربوط و وصلن! حالا این وصل ینی چی؟ ینی مثلا فور دومی یا فور پایینی وابسته به بالاییش باشه حالا این وابسته که میگم ینی چی؟
ینی متغییر فور اول توی فور دوم سروکله اش پیدا بشه که اینجا میبینیم i که برای فور اول بوده اومده و شده شرط حلقه فور دوم! میدونم یکم درکش سخته و توضیح این قسمت هم واقعا سخته اما اگر دیدم نامفهوم بود براتون با ویدیو توضیح میدم! بریم سراغ شرح تحلیلی دوتا فورمون
دقت کنید فور اول از 1 شروع میشه تا دنباله سری ما که 10 هست!
به ازای هر عدد از متغییر i حلقه اول, به تعداد i عدد از متغییر فور دوم ستاره(*) چاپ میشه! خیلی سخته چند بار بخونیدش و به شدت شدت شدت شدت شدت این تیکه مهمه چون تو 70 درصد مسعله(از اون عربیا کیبوردم نداره الان هزار تا علامه دهر میان ازمون اشکال املایی میگیرن) هاتون فور های تو در تو و حلقه های وابسته به هم وجود دارن. حالا اون جمله ای ک گفتمو بازش میکنم مثلا وقتی فور اول ما i مقدار 1 میگیره خوب j هم 1 ه و شرط حلقمونم 1 ه پس یک بار ستاره چاپ میشه و یه خط فاصله. حالا متغیر فور اول ما میشه 2 ! پس میریم وارد حلقه دوم میشیم و شرط حلقه دوممونم شده 2 چون وابسته به متغییر i ه! پس اینجا فور دوم 2 بار اجرا میشه و دوتا ستاره میزنه و همین کار ادامه پیدا میکنه تا که حلقه اول ما مقدارش بشه 10 و فور دوممون شرط حلقش میشه 10! پس 10 تا ستاره میزنه و تمام!
امیدوارم که استفاده کرده باشید و براتون مفید بوده باشه! حالا اگر این رو خوب متوجه شدید سعی کنید برای تمرین این مثلث رو برعکسشو بکشید😃
🟢کد, سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید
خوب مستقیم بریم برای شرح کدمون
اولا که میخواستم با تابع بنویسم که کلا یادم رفت حالا شما سعی کنید برای تمرین بیشتر با تابع بنویسیدش که تسلطتون بره بالا, بریم برای تحلیل
اولا ک ما یه عدد میخوایم که مثل مثال قبل درجه یا terms ما باشه که اینجا با x نشون داده شده و از کاربر میگیریمش این عدد برای اینه که به تعداد اون ضلع اصلی و قاعده و وتر مثلث ما چاپ بشه که توی این مثال مثلا بهش 10 دادیم
خوب این مثال هم دوتا نکته داره که دباره میخوایم وارد مقوله آموزشی بشییم که اون تا نکته اش هم حلقه های تو در تو که خیلی ها مشکل دارند و حلقه های وابسته به هم هست. حلقه های تو در تو که از اسمشون مشخصه یعنی چند تا حلقه داخل هم و حلقه های وابسته به هم که از اسمشون مشخصه ینی کاملا به هم مربوط و وصلن! حالا این وصل ینی چی؟ ینی مثلا فور دومی یا فور پایینی وابسته به بالاییش باشه حالا این وابسته که میگم ینی چی؟
ینی متغییر فور اول توی فور دوم سروکله اش پیدا بشه که اینجا میبینیم i که برای فور اول بوده اومده و شده شرط حلقه فور دوم! میدونم یکم درکش سخته و توضیح این قسمت هم واقعا سخته اما اگر دیدم نامفهوم بود براتون با ویدیو توضیح میدم! بریم سراغ شرح تحلیلی دوتا فورمون
دقت کنید فور اول از 1 شروع میشه تا دنباله سری ما که 10 هست!
به ازای هر عدد از متغییر i حلقه اول, به تعداد i عدد از متغییر فور دوم ستاره(*) چاپ میشه! خیلی سخته چند بار بخونیدش و به شدت شدت شدت شدت شدت این تیکه مهمه چون تو 70 درصد مسعله(از اون عربیا کیبوردم نداره الان هزار تا علامه دهر میان ازمون اشکال املایی میگیرن) هاتون فور های تو در تو و حلقه های وابسته به هم وجود دارن. حالا اون جمله ای ک گفتمو بازش میکنم مثلا وقتی فور اول ما i مقدار 1 میگیره خوب j هم 1 ه و شرط حلقمونم 1 ه پس یک بار ستاره چاپ میشه و یه خط فاصله. حالا متغیر فور اول ما میشه 2 ! پس میریم وارد حلقه دوم میشیم و شرط حلقه دوممونم شده 2 چون وابسته به متغییر i ه! پس اینجا فور دوم 2 بار اجرا میشه و دوتا ستاره میزنه و همین کار ادامه پیدا میکنه تا که حلقه اول ما مقدارش بشه 10 و فور دوممون شرط حلقش میشه 10! پس 10 تا ستاره میزنه و تمام!
امیدوارم که استفاده کرده باشید و براتون مفید بوده باشه! حالا اگر این رو خوب متوجه شدید سعی کنید برای تمرین این مثلث رو برعکسشو بکشید😃
🟢کد, سوالات و نظرات خود را برای ما کامنت یا داخل گروه بفرستید
🧠 #آموزشی #آرایه
{آرایه های یک بعدی}
بخش اول
زمانی که بخواهیم تعدادی متغیر را به صورت دسته بندی شده ذخیره کنیم از آرایه استفاده میکنیم.
گاهی نیز تعداد داده های یک برنامه آنقدر زیاد است که نمیتوانیم برای هر کدام از آنها یک متغیر جداگانه تعریف کنیم بنابراین از یک آرایه با تعداد عناصر زیاد استفاده میکنیم
در آرایه یک بعدی که نام دیگر آن لیست است ، با یک اندیس میتوان به عناصر آرایه دست یافت .
آرایه هایه یک بعدی در ++c به صورت زیر تعریف میشوند :
[طول آرایه ] نام آرایه نوع آرایه
نوع آرایه یکی از انواع مهم در ++c است .
و برایه مفهوم کلی آرایه ها باید به طور کامل به متغیر ها تسلط داشته باشید .
نام آرایه ، برایه دسترسی به عناصر آرایه مورد استفاده قرار می گیرد .
طول آرایه با یک عدد مثبت مشخص میشود .
به طور مثال دستور زیر آرایه ای به نام x و به طول ۵ از اعداد صحیح تعریف می کند .
int x [5];
اندیس آرایه ها در ++c از صفر شروع میشود . به این ترتیب ، عناصر آرایه x به صورت زیر بازیابی میشوند و عناصر آرایه در محلهای متوالی حافظه ذخیره میشوند .
x = x[0] , x[1] , x[2] , x[3] , x[4]
میزان حافظه ای که به آرایه اختصاص داده میشود ، به طریق زیر محاسبه میشود :
طول آرایه * (طول نوع آرایه) = میزان
حافظه آرایه
به عنوان مثال ، میزان حافظه آرایه x عبارت است از ۱۰ = ۵ * ۲
با فرض اینکه طول int برار با ۲ بایت باشد ، با استفاده از اندیس آرایه می توان به عناصر آرایه مقدار داد. به عنوان مثال ، دستور زیر مقدار ۵ را در دومین عنصر آرایه قرار می دهد ، که در آن ، x نام آرایه ، ۱ اندیس و ۵ مقداری است که در [1]x قرار می گیرد .
x[1] = 5;
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید
{آرایه های یک بعدی}
بخش اول
زمانی که بخواهیم تعدادی متغیر را به صورت دسته بندی شده ذخیره کنیم از آرایه استفاده میکنیم.
گاهی نیز تعداد داده های یک برنامه آنقدر زیاد است که نمیتوانیم برای هر کدام از آنها یک متغیر جداگانه تعریف کنیم بنابراین از یک آرایه با تعداد عناصر زیاد استفاده میکنیم
در آرایه یک بعدی که نام دیگر آن لیست است ، با یک اندیس میتوان به عناصر آرایه دست یافت .
آرایه هایه یک بعدی در ++c به صورت زیر تعریف میشوند :
[طول آرایه ] نام آرایه نوع آرایه
نوع آرایه یکی از انواع مهم در ++c است .
و برایه مفهوم کلی آرایه ها باید به طور کامل به متغیر ها تسلط داشته باشید .
نام آرایه ، برایه دسترسی به عناصر آرایه مورد استفاده قرار می گیرد .
طول آرایه با یک عدد مثبت مشخص میشود .
به طور مثال دستور زیر آرایه ای به نام x و به طول ۵ از اعداد صحیح تعریف می کند .
int x [5];
اندیس آرایه ها در ++c از صفر شروع میشود . به این ترتیب ، عناصر آرایه x به صورت زیر بازیابی میشوند و عناصر آرایه در محلهای متوالی حافظه ذخیره میشوند .
x = x[0] , x[1] , x[2] , x[3] , x[4]
میزان حافظه ای که به آرایه اختصاص داده میشود ، به طریق زیر محاسبه میشود :
طول آرایه * (طول نوع آرایه) = میزان
حافظه آرایه
به عنوان مثال ، میزان حافظه آرایه x عبارت است از ۱۰ = ۵ * ۲
با فرض اینکه طول int برار با ۲ بایت باشد ، با استفاده از اندیس آرایه می توان به عناصر آرایه مقدار داد. به عنوان مثال ، دستور زیر مقدار ۵ را در دومین عنصر آرایه قرار می دهد ، که در آن ، x نام آرایه ، ۱ اندیس و ۵ مقداری است که در [1]x قرار می گیرد .
x[1] = 5;
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید
🧠 #آموزشی #آرایه
{آرایه های یک بعدی}
بخش دوم
مثال (۱)
برنامه ای که معدل ۵ دانشجو را از ورودی خوانده در آرایه قرار می دهد و بیشترین معدل و محل وجود آن را پیدا می کند و به خروجی می برد ؟
توضیخ برایه مثال ==>
حلقه تکرار اول ، معدل دانشجویان را خوانده در آرایه قرار می دهد . برای پیدا کردن بیشترین معدل ، فرض میکنیم که اولین عنصر آرایه ، بزرگترین معدل است . به همین دلیل قبل از حلقه تکرار دوم ، [0]avg در amax و اندیس آن ، یعنی ۰ در p قرار می گیرد . سپس amax را در یک حلقه تکرار با عناصر آرایه مقایسه کرده ، عنصر بزرگتر در amax و اندیس آن در p قرار می دهیم .
متغیر هایه برنامه ==>
n = ثابتی به طول ۵ برای تعیین طول آرایه
ave = آرایه ای به طول n برای نگهداری معدل
amax = بزرگترین معدل
i = شمارنده حلقه تکرار
p = محل وجود بزرگترین عنصر در آرایه
#include <iostream>
using namespace std;
int main(){
const int n = 5;
float ave[n] , amax = 0;
int i , p;
for(i = 0; i < n ; i++){
cout << "Enter average : " ;
cin >> ave[i] ;
}
amax = ave[0];
p = 0;
for(i = 1; i < n ; i++){
if( ave[i] > amax ){
amax = ave[i];
p = i;
}
cout << "\n" << "max = " << amax << "position = " << p + 1 ;
return 0;
}
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید
{آرایه های یک بعدی}
بخش دوم
مثال (۱)
برنامه ای که معدل ۵ دانشجو را از ورودی خوانده در آرایه قرار می دهد و بیشترین معدل و محل وجود آن را پیدا می کند و به خروجی می برد ؟
توضیخ برایه مثال ==>
حلقه تکرار اول ، معدل دانشجویان را خوانده در آرایه قرار می دهد . برای پیدا کردن بیشترین معدل ، فرض میکنیم که اولین عنصر آرایه ، بزرگترین معدل است . به همین دلیل قبل از حلقه تکرار دوم ، [0]avg در amax و اندیس آن ، یعنی ۰ در p قرار می گیرد . سپس amax را در یک حلقه تکرار با عناصر آرایه مقایسه کرده ، عنصر بزرگتر در amax و اندیس آن در p قرار می دهیم .
متغیر هایه برنامه ==>
n = ثابتی به طول ۵ برای تعیین طول آرایه
ave = آرایه ای به طول n برای نگهداری معدل
amax = بزرگترین معدل
i = شمارنده حلقه تکرار
p = محل وجود بزرگترین عنصر در آرایه
#include <iostream>
using namespace std;
int main(){
const int n = 5;
float ave[n] , amax = 0;
int i , p;
for(i = 0; i < n ; i++){
cout << "Enter average : " ;
cin >> ave[i] ;
}
amax = ave[0];
p = 0;
for(i = 1; i < n ; i++){
if( ave[i] > amax ){
amax = ave[i];
p = i;
}
cout << "\n" << "max = " << amax << "position = " << p + 1 ;
return 0;
}
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید
🧠 #آموزشی #آرایه
{آرایه یک بعدی به عنوان آرگومان تابع}
بخش سوم
برای ارسال آرایه به تابع ، باید نام آرایه به عنوان آرگومان ذکر شود . اگر آرایه به عنوان آرگومان تابع باشد ، پارامتر معادل آن می تواند به سه صورت زیر تعریف شود :
۱- آرایه با طول مشخص
۲- آرایه ای با طول نامشخص که در این صورت بهتر است طول آرایه به عنوان آرگومان دیگری منتقل شود .
۳- اشاره گر
void func1(int x[]);
void func2(int x[] , int len);
int main(){
int x[10];
..........
func1 (x);
..........
func2 (x , 10);
return 0;
}
void func1(int x[10]){
..........
}
void func2(int x[] , int len)
{
..........
}
آرایه x به عنوان آرگومان دو تابع func1 ، func2 انتخاب شد و پارامترهای معادل آن در هر دو تابع تعریف شده اند. در تابع ()func1 ، پارامتر به صورت آرایه ای با طول معین و در تابع ()func2 به صورت آرایه ای با طول نامعین تعریف شده است .
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید
{آرایه یک بعدی به عنوان آرگومان تابع}
بخش سوم
برای ارسال آرایه به تابع ، باید نام آرایه به عنوان آرگومان ذکر شود . اگر آرایه به عنوان آرگومان تابع باشد ، پارامتر معادل آن می تواند به سه صورت زیر تعریف شود :
۱- آرایه با طول مشخص
۲- آرایه ای با طول نامشخص که در این صورت بهتر است طول آرایه به عنوان آرگومان دیگری منتقل شود .
۳- اشاره گر
void func1(int x[]);
void func2(int x[] , int len);
int main(){
int x[10];
..........
func1 (x);
..........
func2 (x , 10);
return 0;
}
void func1(int x[10]){
..........
}
void func2(int x[] , int len)
{
..........
}
آرایه x به عنوان آرگومان دو تابع func1 ، func2 انتخاب شد و پارامترهای معادل آن در هر دو تابع تعریف شده اند. در تابع ()func1 ، پارامتر به صورت آرایه ای با طول معین و در تابع ()func2 به صورت آرایه ای با طول نامعین تعریف شده است .
🟢لطفا سوالات، نظرات و کد های خود را برای ما کامنت کنید
💬 #چالش
این چالش بسیار بسیارررر مهمه که هر کسی که برنامه نویسی میکنه یا کامپیوتر میخونه باید بلد باشه
چالش مرتب سازی حبابی یا bubble sort . برای اطمینان میتوانید اعداد مثال بالارو وارد کنید
🟥درجه سختی: معمولی
🟢لطفا سوالات، کد و نظرات خود را برای ما کامنت یا داخل گروه ارسال کنید
این چالش بسیار بسیارررر مهمه که هر کسی که برنامه نویسی میکنه یا کامپیوتر میخونه باید بلد باشه
چالش مرتب سازی حبابی یا bubble sort . برای اطمینان میتوانید اعداد مثال بالارو وارد کنید
🟥درجه سختی: معمولی
🟢لطفا سوالات، کد و نظرات خود را برای ما کامنت یا داخل گروه ارسال کنید
Tp hunters cpp
💬 #چالش این چالش بسیار بسیارررر مهمه که هر کسی که برنامه نویسی میکنه یا کامپیوتر میخونه باید بلد باشه چالش مرتب سازی حبابی یا bubble sort . برای اطمینان میتوانید اعداد مثال بالارو وارد کنید 🟥درجه سختی: معمولی 🟢لطفا سوالات، کد و نظرات خود را برای ما کامنت…
🧠 #کد_چالش
#include<iostream>
using std::cout;
using std::endl;
using std::cin;
int main(){
int array[5];
int temp;
cout<<"araye khod ra por konid: "<<endl;
for(int i=0; i<5; i++){
cout<<"array ["<<i<<"]=";
cin>>array[i];
}
for(int i=0; i<5; i++){
for(int j=0; j<4-i; j++){
if(array[j]>array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
cout<<"after sort"<<endl;
for(int i=0; i<5; i++){
cout<<array[i]<<" ";
}
}
Tp hunters cpp
🧠 #کد_چالش #include<iostream> using std::cout; using std::endl; using std::cin; int main(){ int array[5]; int temp; cout<<"araye khod ra por konid: "<<endl; for(int i=0; i<5; i++){ cout<<"array ["<<i<<"]="; cin>>array[i]; } for(int i=0;…
💬 #شرح_کد
ترجیحا قبل از اینکه آموزش و شرح کد رو مطالعه کنید برای این مثال بهتره ک اول کد بالارو در کنار کامپایلرتون داشته باشید و مرحله به مرحله که توضیح میدم ببینید که چه اتفاقی میفته چون مثال به شدت مهمیه و برای کارایی مثل جستجوی دو دویی نیز کاربرد داره! خوب بریم برای شرح کد! اول از همه یه آرایه با 5 خونه ساختیم و بعدش هم یه متغییر به اسم temp تعریف کردیم(فعلا بهش فکر نکنید بعدا میگم چرا ساخته شده این تمپ)! خوب با فور اول که میایم آرایه هامونو از کاربر و ورودی میگیریم و پرش میکنیم این که خیلی سادس!
حالا میرسیم به توضیح کد مرتب سازی حبابی!
ببینید مرتب سازی حبابی به این شکله که هر آرایه با خونه کناریش(ینی یدونه جلوییش مقایسه میشه) و اگه خونه جلویی کوچیکتر از قبلی بود جاشونو عوض میکنه! حالا این مرحله یبار انجام میشه کامل تا بزرگترین عدد ما شناخته بشه و به خونه آخر بره! حالا فرضا خونه آخر ما حذف میشه و دباره حلقمون از اول دوتا دوتا چک و مقایسه میکنه و در صورت نیاز دباره جاهاشونو عوض میکنه!
ینی چی؟این ینی که به دوتا حلقه نیاز داریم دیگه آقا جان! حلقه فور اول که مرحله کلی یا هر pass رو میره و حلقه دوم که میاد آرایه هارو مقایسه میکنه و جاشونو عوض میکنه! خوب بریم سراغ شرح این دوتا فور! دوستان دقت کنید این کد نیمه بهینه است که در آخر به بهینه ترین صورت این مرتب سازی حبابی اشاره میکنم! فور اولمون که باید تا تعداد خونه های آرایمون بره! این که هیچ میایم داخل فور دوم دقت کنید این از صفر میره تا 4-i ! چرا این منهای i میشه؟ یادتونه اون بالا بهتون گفتم تو هر مرحله که عدد آخر ینی بزرگترین عدد مشخص میشه فرض میکنیم دیگه وجود نداره؟ خوب این منهای i بخاطر اینه که اون عدد آخررو حساب نکنه دیگه عزیز دل من😄ینی تو هر دور از صفر میره تا یکی مونده به آخری! دقت کنید اگر داخل کد منهای i رو هم نزارید برنامه درست جواب میده اما یکم سرعت برنامه میاد پایین تر!(اونقدری که انسان متوجهش نمیشه ولی خوب...) بخاطر این سرعت میاد پایین که هر بار اون عدد آخری هم مقایسه میشه! و حالا میایم بیرون و میریم داخل اون if! این هم که مشخصه دیگه وقتی خونه ها کنار به کنار مقایسه شدن و اگرخونه قبلی از خونه بعدیش بزرگتر باشه میاد جاشونو عوض میکنه! حالا برا عوض کردن جای دوتا متغییر ما به یه متغییر اضافه نیاز داریم که اون اسمش temp ه دیگهههههه که اون بالا تعریفش کردیم! حالا که کل این مرحله انجام شد یه مرحله یا یک pass انجام شده! میایم بیرون و حلقه فور اول ما میشه 1 و دباره همینطور ادامه پیدا میکنه!
دقت کنید من گفتم راجب بهینه سازی این کد بهتون بگم!
ببینید ما حلقه اولمون تا خونه آخرمون ینی 4م میره دیگه درسته؟
فرض کنید ما دادیم
5 1 4 2 8
این میاد مرتب میشه و میشه
1 2 4 5 8
حالا اون عدد اخر ما ینی 5 داخل فور اول میاد یبار دیگه کلش رو چک میکنه ببینه آیا این مرتب شده یا نه؟(خوب آره دیگه دانشمند مرتب شده دیگه! درواقع میاد یکار اضافه انجام میده که بگه آره منم بلدم!😎) و همین شاخ بازیش باعث میشه دباره سرعت برنامه بیاد پایین😞
پس برای این حل مشکل و بهینه سازی کامل کد شما فکر کنید یه آرایه n خونه ای دارید!
برای مرتب سازیش داخل فور اولتون میزارید n-1 !
و داخل فور دومتون میزارید n-i-1!
امیدوارم که کامل متوجه شده باشید و استفاده کرده باشید!
🟢لطفا سوال, کد و نظرات خود را برای ما کامنت کنید یا داخل گروه بفرستید
ترجیحا قبل از اینکه آموزش و شرح کد رو مطالعه کنید برای این مثال بهتره ک اول کد بالارو در کنار کامپایلرتون داشته باشید و مرحله به مرحله که توضیح میدم ببینید که چه اتفاقی میفته چون مثال به شدت مهمیه و برای کارایی مثل جستجوی دو دویی نیز کاربرد داره! خوب بریم برای شرح کد! اول از همه یه آرایه با 5 خونه ساختیم و بعدش هم یه متغییر به اسم temp تعریف کردیم(فعلا بهش فکر نکنید بعدا میگم چرا ساخته شده این تمپ)! خوب با فور اول که میایم آرایه هامونو از کاربر و ورودی میگیریم و پرش میکنیم این که خیلی سادس!
حالا میرسیم به توضیح کد مرتب سازی حبابی!
ببینید مرتب سازی حبابی به این شکله که هر آرایه با خونه کناریش(ینی یدونه جلوییش مقایسه میشه) و اگه خونه جلویی کوچیکتر از قبلی بود جاشونو عوض میکنه! حالا این مرحله یبار انجام میشه کامل تا بزرگترین عدد ما شناخته بشه و به خونه آخر بره! حالا فرضا خونه آخر ما حذف میشه و دباره حلقمون از اول دوتا دوتا چک و مقایسه میکنه و در صورت نیاز دباره جاهاشونو عوض میکنه!
ینی چی؟این ینی که به دوتا حلقه نیاز داریم دیگه آقا جان! حلقه فور اول که مرحله کلی یا هر pass رو میره و حلقه دوم که میاد آرایه هارو مقایسه میکنه و جاشونو عوض میکنه! خوب بریم سراغ شرح این دوتا فور! دوستان دقت کنید این کد نیمه بهینه است که در آخر به بهینه ترین صورت این مرتب سازی حبابی اشاره میکنم! فور اولمون که باید تا تعداد خونه های آرایمون بره! این که هیچ میایم داخل فور دوم دقت کنید این از صفر میره تا 4-i ! چرا این منهای i میشه؟ یادتونه اون بالا بهتون گفتم تو هر مرحله که عدد آخر ینی بزرگترین عدد مشخص میشه فرض میکنیم دیگه وجود نداره؟ خوب این منهای i بخاطر اینه که اون عدد آخررو حساب نکنه دیگه عزیز دل من😄ینی تو هر دور از صفر میره تا یکی مونده به آخری! دقت کنید اگر داخل کد منهای i رو هم نزارید برنامه درست جواب میده اما یکم سرعت برنامه میاد پایین تر!(اونقدری که انسان متوجهش نمیشه ولی خوب...) بخاطر این سرعت میاد پایین که هر بار اون عدد آخری هم مقایسه میشه! و حالا میایم بیرون و میریم داخل اون if! این هم که مشخصه دیگه وقتی خونه ها کنار به کنار مقایسه شدن و اگرخونه قبلی از خونه بعدیش بزرگتر باشه میاد جاشونو عوض میکنه! حالا برا عوض کردن جای دوتا متغییر ما به یه متغییر اضافه نیاز داریم که اون اسمش temp ه دیگهههههه که اون بالا تعریفش کردیم! حالا که کل این مرحله انجام شد یه مرحله یا یک pass انجام شده! میایم بیرون و حلقه فور اول ما میشه 1 و دباره همینطور ادامه پیدا میکنه!
دقت کنید من گفتم راجب بهینه سازی این کد بهتون بگم!
ببینید ما حلقه اولمون تا خونه آخرمون ینی 4م میره دیگه درسته؟
فرض کنید ما دادیم
5 1 4 2 8
این میاد مرتب میشه و میشه
1 2 4 5 8
حالا اون عدد اخر ما ینی 5 داخل فور اول میاد یبار دیگه کلش رو چک میکنه ببینه آیا این مرتب شده یا نه؟(خوب آره دیگه دانشمند مرتب شده دیگه! درواقع میاد یکار اضافه انجام میده که بگه آره منم بلدم!😎) و همین شاخ بازیش باعث میشه دباره سرعت برنامه بیاد پایین😞
پس برای این حل مشکل و بهینه سازی کامل کد شما فکر کنید یه آرایه n خونه ای دارید!
برای مرتب سازیش داخل فور اولتون میزارید n-1 !
و داخل فور دومتون میزارید n-i-1!
امیدوارم که کامل متوجه شده باشید و استفاده کرده باشید!
🟢لطفا سوال, کد و نظرات خود را برای ما کامنت کنید یا داخل گروه بفرستید
💬 #چالش
باید یه برنامه بنویسید که یه لیستی از اعداد بگیره یا چند عدد بگیره تفاوت بزرگترین و کوچیکترین عدد رو در خروجی نمایش بده
🟥درجه سختی: آسان
🟢لطفا سوالات, کد و نظرات خود را برای ما کامنت یا داخل گروه ارسال کنید
باید یه برنامه بنویسید که یه لیستی از اعداد بگیره یا چند عدد بگیره تفاوت بزرگترین و کوچیکترین عدد رو در خروجی نمایش بده
🟥درجه سختی: آسان
🟢لطفا سوالات, کد و نظرات خود را برای ما کامنت یا داخل گروه ارسال کنید
Tp hunters cpp
💬 #چالش باید یه برنامه بنویسید که یه لیستی از اعداد بگیره یا چند عدد بگیره تفاوت بزرگترین و کوچیکترین عدد رو در خروجی نمایش بده 🟥درجه سختی: آسان 🟢لطفا سوالات, کد و نظرات خود را برای ما کامنت یا داخل گروه ارسال کنید
🧠 #کد_چالش
🟢نظرات, سوالات و کد های خود را برای ما کامنت کنید
#include<iostream>
using std::cout;
using std::endl;
using std::cin;
int max(int a[],int n);
int min(int a[], int n);
int difference(int a[], int n);
int main(){
cout<<"araye haye khod ra por konid "<<endl;
int array[6];
for(int i = 0; i<6 ; i++){
cout<<"array["<<i<<"]= ";
cin>>array[i];
}
cout<<"MAX = "<<max(array,6)<<endl;
cout<<"MIN = "<<min(array,6)<<endl;
cout<<"DIFFERENCE = "<<difference(array,6);
}
int max(int a[],int n){
int max=a[0];
for(int i=0 ;i<n ;i++){
if(a[i]>max){
max = a[i];
}
}
return max;
}
int min(int a[], int n){
int min=a[0];
for(int i=0; i<n; i++){
if(a[i]<min){
min = a[i];
}
}
return min;
}
int difference(int a[], int n){
return max(a,n)-min(a,n);
}
🟢نظرات, سوالات و کد های خود را برای ما کامنت کنید
Tp hunters cpp
🧠 #کد_چالش #include<iostream> using std::cout; using std::endl; using std::cin; int max(int a[],int n); int min(int a[], int n); int difference(int a[], int n); int main(){ cout<<"araye haye khod ra por konid "<<endl; int array[6]; for(int i = 0; i<6…
💬 #شرح_کد
خوب دوستان این چالش آنچنان چیز خاصی نداشت اما خودش درونش ۴ ۵ تا سوال و نکته های آموزشی خیلی ریز و مبتدی بود. اولا ک سعی کنید همه برنامه هاتون با تابع باشه مهم ترینشاز نظرمن زیبا تر شدن و خوانا تر شدن کد هست و اینکه خیلی راحت تره کلا و از اون مهم تر برای شی گرایی و پیشرفته توی هر زمانی شما کار با توابع رو نیاز دارید! پس بشینید و تمرینش کنید😃
خوب این برنامه از ۳ تا تابع تشکیل شده که یکیش ماکزیمم میده یکیش مینیمم و یکیشم تفاوت اونا ک برنامه خواسته خوب فور داخل حلقه مین میاد اول آرایمونو پر میکنه که خیلی سادس!
حالا میایم داخل تابع ماکزیمم یه نکته ای ک باید تو پیدا کردن ماکزیمم یا مینیمم بین اعداد زیاد بدونید اینه که اول میاید یه عدد(اولین یا آخرین باشه) رو به عنوان کوچیکترین یا بزرگترین در نظر میگیرید(دقیقا کاری که اینجا کردیم خونه اول آرایه رو ماکزیمم فرض کردیم) بعدش اومدیم دونه دونه خونه های آرایرو چک کردیم ک اگر هر خونه بزرگتر از اون مقدار فرضی ما بود اون خونه رو بیاد تو بزرگترین قرار بده و در آخر برگردونه به تابع! حالا تابع مینیمم دقیقا همینه و همینطوریه الگوریتمش اما فرقش رو خودتون پیدا کنید دیگه😃👌
تابع دیفرنس یا تفاوت ما هم میا این دوتا رو منهای هم میکنه و برمیگردونه
خوب دیگه اینم از این شرح من که دیگه خسته شدم خیلی ساده بود😊 امیدوارم متوجه شده باشید و استفاده کرده باشید
🟢سوالات، کد و نظرات خود را برای ما کامنت یا داخل گروه ارسال کنید
خوب دوستان این چالش آنچنان چیز خاصی نداشت اما خودش درونش ۴ ۵ تا سوال و نکته های آموزشی خیلی ریز و مبتدی بود. اولا ک سعی کنید همه برنامه هاتون با تابع باشه مهم ترینشاز نظرمن زیبا تر شدن و خوانا تر شدن کد هست و اینکه خیلی راحت تره کلا و از اون مهم تر برای شی گرایی و پیشرفته توی هر زمانی شما کار با توابع رو نیاز دارید! پس بشینید و تمرینش کنید😃
خوب این برنامه از ۳ تا تابع تشکیل شده که یکیش ماکزیمم میده یکیش مینیمم و یکیشم تفاوت اونا ک برنامه خواسته خوب فور داخل حلقه مین میاد اول آرایمونو پر میکنه که خیلی سادس!
حالا میایم داخل تابع ماکزیمم یه نکته ای ک باید تو پیدا کردن ماکزیمم یا مینیمم بین اعداد زیاد بدونید اینه که اول میاید یه عدد(اولین یا آخرین باشه) رو به عنوان کوچیکترین یا بزرگترین در نظر میگیرید(دقیقا کاری که اینجا کردیم خونه اول آرایه رو ماکزیمم فرض کردیم) بعدش اومدیم دونه دونه خونه های آرایرو چک کردیم ک اگر هر خونه بزرگتر از اون مقدار فرضی ما بود اون خونه رو بیاد تو بزرگترین قرار بده و در آخر برگردونه به تابع! حالا تابع مینیمم دقیقا همینه و همینطوریه الگوریتمش اما فرقش رو خودتون پیدا کنید دیگه😃👌
تابع دیفرنس یا تفاوت ما هم میا این دوتا رو منهای هم میکنه و برمیگردونه
خوب دیگه اینم از این شرح من که دیگه خسته شدم خیلی ساده بود😊 امیدوارم متوجه شده باشید و استفاده کرده باشید
🟢سوالات، کد و نظرات خود را برای ما کامنت یا داخل گروه ارسال کنید
