PDA

View Full Version : کمک در نوشتن برنامه ایی به زبان C++



N E R D
پنج شنبه 28 اسفند 1393, 23:14 عصر
سلام.
من میخواستم ی برنامه بنویسم به زبان c++. برنامه باید به این صورت باشد که اعدادی رو از ورودی دریافت کند (در اصل باید 5 عدد را وارد کنید ولی من میخواهم کاربر هر چند تا عدد که خواست وارد کند و بعد دکمه ای را که از قبل تعیین شده ( مثلا ctrl + c را )بزند و برنامه ادامه ی کار را پیش بگیرد) و بعد ماکسیمم آن ها را نمایش دهد.
ایده ای در ذهن من بوده این است که برنامه بیاید این طور عمل کند. ابتدا 2 عدد را با هم مقایسه کند سپس عددی را که بزرگتر بود با عدد بعدی مقایسه کند و همینطور تا آخر. علت اینکه ایده خودم رو مطرح کردم این است که در برخی از سایت ها دنبال سورس این برنامه میگشتم، دیدم که عده ای آمدند 2 عدد را به عنوان max و min در نظر گرفتند و مقدار آن را بالاترین حد ممکن اون type قرار دادند. مثلا 99999 و -99999 و ادامه ی ماجرا ...
ولی من نمی خواهم عملکرد به این صورت باشد.
نکته ای دیگر که باید اشاره کنم این است که برنامه تا حایی که امکان دارد کم خط باشد. حتما خودتون مستحضرید که میتوان یک برنامه رو 50 خط ادامه داد ولی با یه ذره خلاقیت و استفاده از حلقه ای مناسب آن را کم خط تر کرد.
ممنونم اگر جواب مرا بدهید.
یا علی

a.abbasi49
جمعه 29 اسفند 1393, 00:52 صبح
سلام.
اولین عدد رو خارج از حلقه میگیری و به عنوان Max در نظر میگیری.
حالا داخل حلقه ، هر بار یه عدد میگیری و با Max مقایسه اش میکنی و ...
حله؟:لبخندساده:

amirtork
جمعه 29 اسفند 1393, 01:25 صبح
سلام،
همونطور که جناب آقای a.abbasi49 اشاره کردن، این روش، روش خیلی خوبیه :)
روش پیاده سازی که به ذهن من هم رسید همین بود.

#include <iostream>
using namespace std;

int main()
{
int max;
int tmp;
cin>>tmp;
max = tmp;
while(cin>>tmp)
(tmp > max) ? max = tmp : true;
cout<<max;
return 0;
}

N E R D
جمعه 29 اسفند 1393, 01:34 صبح
خیلی ممنون. اون قسمت اولش چی؟
من نمی خواهم از قبل واسه برنامه تعریف شده باشه که فلان تا عدد باید دریافت کنه.
باز هم مرسی جواب دادین
متن ویرایش شده:
آقای امیرترک- خیلی ممنون. این کدی رو که گذاشتین من اجرا کردم و یه مشکلی دارم. اونم اینه که برنامه پشت سر هم ورودی میگیره و نمیره برا محاسبه بزرگترین.
متن ویرایش شده:
دست گل هر دوتاتون درد نکنه. مشکلم حل شد.

amirtork
جمعه 29 اسفند 1393, 02:02 صبح
خواهش میکنم :)
برنامه تا دریافت EOF یا کاراکتری مثل ctr^c به کارش ادامه میده، بعد از اون بزرگترین عدد رو نمایش میده.

موفق باشید.