• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

چند تا تمرین c++ کمک کنید لطفا

rezaki

Registered User
تاریخ عضویت
8 مارس 2010
نوشته‌ها
1,384
لایک‌ها
183
محل سکونت
خراسان شمالی
سلام
دوستان چند تا برنامه هست که استاد داده و احتمال اینکه تو امتحان پایان ترم بیاد زیاده اگه لطف کنید و راهنمایی کنید و حلشون کنیم ممنون میشم.
امتحان برنامه سازی پیشرفته نام و نام خانوادگی : زمان امتحان : 40 دقیقه :d
سوال 1 :
برنامه ای بنویسید که با دریافت یک عدد صحیح :
الف) تمام ارقام عدد را چاپ نماید. ب) حاصل جمع ارقام عدد را چاپ نماید.
سوال 2 :
برنامه ای بنویسید که با دریافت 10 عدد صحیح:
الف)تعداد اعدادی که حاصل جمع ارقام آنها بیشتر از 20 باشد را چاپ نماید.
ب)چنانچه تعداد ارقام عدد فرد باشد,رقم وسط عدد را چاپ نماید.
سوال3:
برنامه ای بنویسید که با دریافت یک ماتریس 4*4 از ورودی عملیات زیر را انجام دهد:
الف)حاصل جمع اعداد موجود بر روی قطر اصلی را چاپ نماید.
ب)تعداد اعداد فرد موجود در زیر قطر اصلی را چاپ نماید.
ج)با دریافت یک ماتریس 4*4 دیگر حاصل جمع دو ماتریس را محاسبه و چاپ نماید.
چند سوال درباره رشته ها:
مربوط به بحث رشته ها میشه.
1)با دریافت 10 رشته از ورودی , تعداد رشته هایی که در آن حرف a وجود ندارد را چاپ نماید.
2)با دریافت یک رشته حرف آخر رشته را چاپ نماید.
3)با دریافت یک رشته تعداد زیر رشته ab را در این رشته بیابد.
تمام
اگر دوستان لطف کنن و جواب این چند تا مسئله رو که میدونم برای برنامه نویس c++ مفتم نمیارزه و خیلی اسون هست رو بدن ممنون میشم.
موفق باشید
 

Musketeer

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
10 آگوست 2005
نوشته‌ها
779
لایک‌ها
551
سن
37
محل سکونت
تهران
عزیز جسارته البته، این سوالا درحد امتحانای مبانی هم نیست چه برسه پیشرفته...

بهرحال...
1) باید حلقه ای بنویسید که عدد رو متناوبا تقسیم بر ده کنه و باقیموندش رو چک کنه که از ده کمتر نشه. وقتی کمتر شد حلقه تموم بشه.

2) عین سوال قبلی، برای هر عدد عدد رو متناوبا تقسیم بر ده کنه و باقیمونده تقسیمش بر ده رو نگه داره و با هم جمع بزنه. اگر این عدده بالای 20 بود عدد اصلی رو چاپ کنه. تعداد ارقامش هم همینطوری شمرده میشه و وقتی شمرده شد اگر فرد بود تعداد ارقام تقسیم بر 2 به علاوه یک امین عدد رو چاک کنه

3) یک متغیر بگیرید مثلا S بعد با 2تا حقله ماتریس رو تماما پیمایش کنید و هرجا متغیر حلقه ها با هم برابر بود اون درایه با S جمع بشه و ریخته بشه تو خود S. این برای جمع قطر اصلی
برای قطر فرعی هروقا i (متغیر حلقه) برابر شد با n-i+1 (که n مرتبه ماتریس و در اینجا 4 هست) چک کنه که اگه فرد هست یک شمارنده رو اضافه کنه.
برای جمع زدن با یک ماتریس دیگه، اول ماتریس دومی رو از ورودی بگیره بعد با 2تا حقله کل درایه ها رو نظیر به نظیر با هم جمع کنه و بریزه توی یک ماتریس سومی (ماتریس مجموع)

4)
اولی)برای هر رشته، قبل از اینکه رشته رو پیمایش کنه یک متغیر bool بگیرید با مقدار true. بعد رشته رو پیشمایش کنه هرجا به کاراکتر مورد نظر رسید اون bool رو false کنه. و در آخر اگه flag == true چاپ کنه اون رشته رو.
دومی) فکر کنم str.length نداره تو C++ اگه اشتباه نکنم. باید رشته رو پیمایش کنید هرجا به کاراکتر null رسیدید از حلقه خارج بشه. اینطوری متغیر حلقه شده برابر با تعداد کاراکترهای رشته. که i-2 امین کاراکتر رشته اتون جواب شماست
سومی) اول کاراکتر اولی (در اینجا a) رو پیدا کنه توی رشته. هرجا پیداش کرد اندیسش رو بگیره i . بعد کاراکتر دوم (دراینجا b) رو بگیره با کاراکتر i+1 ام رشته مقایسه کنه اگه برابر بود که پیدا شده.
حالا برای اینکه درست کار کنه برنامه باید کل این چیزی که بالا نوشتید رو بزارید توی یک حقله همیشگی یعنی بنویسید while (true) و پیمایش رو از مثلا n بگیرید که مقدار اولیه n برابر صفر هست و در آخر حقله n = i+1 ( این کارو واسه این میکنیم که از اول رشته نگرده دوباره بخوره به همون a قبلی!)

هرجاش گنگ بود بفرمایید توضیح بیشتر بدم

موفق باشید
 

rezaki

Registered User
تاریخ عضویت
8 مارس 2010
نوشته‌ها
1,384
لایک‌ها
183
محل سکونت
خراسان شمالی
عزیز جسارته البته، این سوالا درحد امتحانای مبانی هم نیست چه برسه پیشرفته...

خواهش میکنم
ما تو همیناش هم گیر کردیم و نمیتونیم حلشون کنیم.
میشه برنامه هاش رو برام بنویسید و همینجا بزارید؟؟؟
 

Musketeer

کاربر قدیمی پرشین تولز
کاربر قدیمی پرشین تولز
تاریخ عضویت
10 آگوست 2005
نوشته‌ها
779
لایک‌ها
551
سن
37
محل سکونت
تهران
خب عزیز از نظر تکنیکی که میشه. ولی اینطوری واقعا خیلی بعیده شما چیزی یاد بگیرید. نوشتن کدهاش واقعا سخت نیست فقط دست به کار بشید شروع کنید. هرچیزی نوشتید همینجا بزارید با هم کاملش میکنیم ;)
 

rezaki

Registered User
تاریخ عضویت
8 مارس 2010
نوشته‌ها
1,384
لایک‌ها
183
محل سکونت
خراسان شمالی
ببینید من که نمیخام برنامه نویس c++ بشم فقط میخام این امتحانش رو پاس کنم بره پی کار خودش و تموم.
اگه لطف کنید و برنامه هاش رو برام بزارید تا تمرین کنم و بعد یاد بگیرم ممنون میشم
 

>-->O

همکار بازنشسته
تاریخ عضویت
25 نوامبر 2009
نوشته‌ها
2,530
لایک‌ها
468
محل سکونت
㋡ همین جا ㋡
ببینید من که نمیخام برنامه نویس c++ بشم فقط میخام این امتحانش رو پاس کنم بره پی کار خودش و تموم.
اگه لطف کنید و برنامه هاش رو برام بزارید تا تمرین کنم و بعد یاد بگیرم ممنون میشم
رشته شما اگه کامپیوتره بهتره یاد بگیرد و برنامه ها رو حفظ نکنید !
چون اگه همین برنامه های ساده رو یکمی اینور و انورش کنه دیگه نمیتونید اینو بنویسید چون حفظ کردید نه یاد گرفتید

بهتره شما شروع کنید هر چی بلد هستید اینجا بنویسید گاماس گاماس با هم میریم جلو تا به جواب نهایی برسید
 

rezaki

Registered User
تاریخ عضویت
8 مارس 2010
نوشته‌ها
1,384
لایک‌ها
183
محل سکونت
خراسان شمالی
رشته شما اگه کامپیوتره بهتره یاد بگیرد و برنامه ها رو حفظ نکنید !
چون اگه همین برنامه های ساده رو یکمی اینور و انورش کنه دیگه نمیتونید اینو بنویسید چون حفظ کردید نه یاد گرفتید

بهتره شما شروع کنید هر چی بلد هستید اینجا بنویسید گاماس گاماس با هم میریم جلو تا به جواب نهایی برسید

نه عزیز رشته ام کامپیوتر نیست رشته ام ict هست و فقط همین 3 واحد برنامه نویسی رو البته بجز کارگاه طراحی صفحات وب (که البته اونو خودم اوستام :d) برنامه نویسی داریم.
الان فقط 8 روز تا شروع امتحانا مونده و اصلا وقت ندارم بخام c++ یادبگیرم اگه لطف کنید جواب همین چند تا سوال رو برام بزارید یه دنیا ممنونتون میشم تا بعد اگه خدا خواست و فرصتی شد به طور کامل با همکاری و کمک شما یاد بگیریم.
لطفا جواب سوالهای بالا رو بزارید ممنون میشم.
یاعلی
 
بالا