برنامه نویسی

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

آهان یعنی بابلو از اون بالا بیارمش تو


یا sort بزنم

این سرت تو کجاس؟
کامپایلرم
borland c++ 5.02
 

SeMeKh

کاربر فعال
ارسال‌ها
28
امتیاز
2
نام مرکز سمپاد
علامه حلی
شهر
تهران
مدال المپیاد
من و المپیاد؟
پاسخ : برنامه نویسی

فکر کنم یه ذره (خیلی) بد توضیح دادم.
کد:
#include <iostream>
#include <algorithm>

using namespace std;


int main()
{
	const int k = 4;
	int a[k];
	
	for(int i=0; i<k; i++)
		cin >> a[i];
		
	sort(a, a+k);
	
	for(int i=0; i<k; i++)
		cout << a[i] << endl;
	return 0;
}
فکر کنم این یه کم مفهوم‌تر باشه. این برنامه، k تا عدد می‌گیره و مرتب می‌کنه. اگه باز هم نامفهوم بود حتما بگو.

پ.ن. مطمئن نیستم که این کد رو borland کامپایل بشه. و کلا هم خوب نیست که با borland کار کنی. تو پست‌های قبلی توضیح داده‌شده که چجوری از ++g استفاده کنی.
 

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

گرفتم ولی using namespace std
چیه؟ :D
می دونما ،فقط شک کردم


به نقل از مهران :
فکر کنم یه ذره (خیلی) بد توضیح دادم.
کد:
#include <iostream>
#include <algorithm>

using namespace std;


int main()
{
	const int k = 4;
	int a[k];
	
	for(int i=0; i<k; i++)
		cin >> a[i];
		
	sort(a, a+k);
	
	for(int i=0; i<k; i++)
		cout << a[i] << endl;
	return 0;
}
فکر کنم این یه کم مفهوم‌تر باشه. این برنامه، k تا عدد می‌گیره و مرتب می‌کنه. اگه باز هم نامفهوم بود حتما بگو.

پ.ن. مطمئن نیستم که این کد رو borland کامپایل بشه. و کلا هم خوب نیست که با borland کار کنی. تو پست‌های قبلی توضیح داده‌شده که چجوری از ++g استفاده کنی.


ببینم این کامپایلری که استفاده می کنی getch(); k (اون k رو زدم صاف شه) نمی خواد دیگه؟
 

SeMeKh

کاربر فعال
ارسال‌ها
28
امتیاز
2
نام مرکز سمپاد
علامه حلی
شهر
تهران
مدال المپیاد
من و المپیاد؟
پاسخ : برنامه نویسی

فکر نکنم فعلا لازم باشه در مورد namespace بدونید. ولی برای اینکه جوابم حکم «فضولی نکن» نداشته باشه، در همین حد بدون که namespaceها در واقع یه بسته‌بندی برای یه سری توابع و متغیرها هستن. برای همین، اگه این خط رو نزنی، برای دسترسی به اعضای std مجبوری مثلا به جای cout << a بنویسی std::cout << a باز هم می‌گم. لازم نیست خیلی وارد جزئیات بشی.

البته به نظر می‌آد که این قضیه تو borland یه کم فرق داره. باز هم توصیه می‌کنم حتما از ++g استفاده کنی :D
 

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

آخ دوباره ویرایش کردم،میشه بازم به سوالم جواب بدین


یعنی کلهم اون using namespace std; رو اون بالا بزنم؟


من getch(); تو برلند می زنم که برنامه نپره دیگه اجرا نمیشه
 

SeMeKh

کاربر فعال
ارسال‌ها
28
امتیاز
2
نام مرکز سمپاد
علامه حلی
شهر
تهران
مدال المپیاد
من و المپیاد؟
پاسخ : برنامه نویسی

getch تابع استانداردی (!) نیستش. در واقع اصلا conio.h استاندارد نیست. برای همین بهتره از getch استفاده نکنی. یا اگر استفاده می‌کنید، قبل از فرستادن برنامه‌تون حتما هم خودش و هم خط #include <conio.h> رو حذف کنید. (یکی از قابلیت‌های Code::Blocks که توی صفحه‌ی قبل ازش تعریف کردم همینه. خودش بعد از اتمام برنامه، یه چیزی شبیه getch می‌ذاره.)

در مورد using namespace std; وقتی که داری از ++g استفاده می‌کنی، تقریبا پای ثابت همه‌ی برنامه‌هاست.
 

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

خب پس من یه سری چیزا رو چون از جعفر نژاد خوندم تحت برلند بلدم حالا چی کار کنم؟دیتل و دیتل دیروز گرفتم،هنوز نخوندم
 

SeMeKh

کاربر فعال
ارسال‌ها
28
امتیاز
2
نام مرکز سمپاد
علامه حلی
شهر
تهران
مدال المپیاد
من و المپیاد؟
پاسخ : برنامه نویسی

نه، دیگه اینقدر فرق ندارن که بخوای کتاب عوض کنی :D اما کلا برای این گفتم، که به کامپایلر عادت کنی. زیاد از لحاظ یادگیری فرق ندارن، فقط موقع استفاده شاید یه کم errorهاش و ... فرق داشته باشه. بعضی چیزا که ممکنه توی ++g فرق بکنه:
* توی خط include، برای فایل‌ها پسوند h. نمی‌گذاریم.
* اکثرا بعد از includeها، ;using namespace std میاد.
* تا جایی که یادمه، توی TurboC نمی‌شد با STL به این راحتی‌ها کار کرد.
اگه باز هم چیزی یادم اومد ویرایش می‌کنم.
 

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

خیلی ممنون
فقط فردا باید برم کافی نت دانلودش کنم
لینکش تو صفحه ی اوله دیگه؟
 

SeMeKh

کاربر فعال
ارسال‌ها
28
امتیاز
2
نام مرکز سمپاد
علامه حلی
شهر
تهران
مدال المپیاد
من و المپیاد؟
پاسخ : برنامه نویسی

صفحه‌ی دوم.
 

احمدرضا رحیمی

کاربر فوق‌فعال
ارسال‌ها
115
امتیاز
29
نام مرکز سمپاد
‍‍‍ علامه طباطبایی :)
مدال المپیاد
المپیاد ریاضی
رشته دانشگاه
احتمالا کامپیوتر
پاسخ : برنامه نویسی

سلام

این کتاب آموزش c++ deitel&deitel انگلیسی تو ایران گیر میاد ؟(من اصولا با کتاب های ترجمه شده مشکل دارم :( )
 

SeMeKh

کاربر فعال
ارسال‌ها
28
امتیاز
2
نام مرکز سمپاد
علامه حلی
شهر
تهران
مدال المپیاد
من و المپیاد؟
پاسخ : برنامه نویسی

Ebookش که فکر کنم خیلی راحت پیدا می‌شه.
خود کتاب هم احتمالا هست، اگه اشتباه نکنم دست یکی از بچه‌ها دیده بودم.
 

parsa_spy

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,161
امتیاز
443
نام مرکز سمپاد
علامه حلی تهران
شهر
تهران
سال فارغ التحصیلی
1390
مدال المپیاد
مدال طلای المپیاد کامپیوتر
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

اینگلیسییش از فارسیش راحت تر گیر می آد !
 

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

من امروز نتونستم کد بزنم ولی اون سوال sgu به این شکل حل میشه دیگه


یه n ثابت می گیریم
k رو ورودی میگیریم
یه آرایه به طول n تعریف می کنیم
بعد یه for می دیم عناصر آرایه رو می گیریم
8 تا متغییر در نظر می گیریم
بعد با یه for عناصر آرایه رو تقسیم صحیح بر هزار می کنیم،
بعد یه for میدیم که عناصر آرایه تقسیم صحیح به 1000 بشن بعد یه if می دیم که مثلا اگه جواب 1 شد متغیر 1 از اون 8 تا به علاوه ی یک بشه،همینطوری تو if واسه 8 تای دیگه شرط تعیین می کنیم

بعد 8 تا متغیر رو تقسیم صحیح به k می کنیم به علاوه ی یک می کنیم(برای هر کدوم یه متغیر جدید در نظر می گیریم)

بعد حاصل 8 تا رو باهم جمع می کنیم
به علاوه ی دو می کنیم درسته؟
 

saadatfar

کاربر فعال
ارسال‌ها
33
امتیاز
0
نام مرکز سمپاد
شهید قدوسی
شهر
قم
پاسخ : برنامه نویسی

به نقل از حامد مهدوی :
من امروز نتونستم کد بزنم ولی اون سوال sgu به این شکل حل میشه دیگه


یه n ثابت می گیریم
k رو ورودی میگیریم
یه آرایه به طول n تعریف می کنیم
بعد یه for می دیم عناصر آرایه رو می گیریم
8 تا متغییر در نظر می گیریم
بعد با یه for عناصر آرایه رو تقسیم صحیح بر هزار می کنیم،
بعد یه for میدیم که عناصر آرایه تقسیم صحیح به 1000 بشن بعد یه if می دیم که مثلا اگه جواب 1 شد متغیر 1 از اون 8 تا به علاوه ی یک بشه،همینطوری تو if واسه 8 تای دیگه شرط تعیین می کنیم

بعد 8 تا متغیر رو تقسیم صحیح به k می کنیم به علاوه ی یک می کنیم(برای هر کدوم یه متغیر جدید در نظر می گیریم)

بعد حاصل 8 تا رو باهم جمع می کنیم
به علاوه ی دو می کنیم درسته؟

خوب کدشو بزن بده تست کنه دیگه!
 

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

آخه اینترنتم زغالیه بابا
2 ساعت داشتم کامپایلر Ide رو دانلود می کردم
ولی روش کد زدنشو گفتم ببینم درسته یا نه
 
  • شروع کننده موضوع
  • #57

zabolian

کاربر نیمه‌حرفه‌ای
ارسال‌ها
235
امتیاز
25
نام مرکز سمپاد
دبیرستان شهید اژه ای اصفهان
شهر
اصفهان
سال فارغ التحصیلی
1390
مدال المپیاد
۳ روز پیش ( ۲۴ اسفند ۸۸) مدال طلای المپیاد کامپیوتر گرفتم
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی نرم افزار
پاسخ : برنامه نویسی

سلام.
راجع به سوال چند دارید حرف میزنید؟
 

eyekay

کاربر فوق‌حرفه‌ای
ارسال‌ها
797
امتیاز
495
نام مرکز سمپاد
شهید قدوسی قم،علامه حلی تهران
شهر
قم،تهران
مدال المپیاد
مدال نقره ی المپیاد ریاضی
دانشگاه
صنعتی شریف
رشته دانشگاه
نرم افزار
پاسخ : برنامه نویسی

همون sgu که اولش گفتین

بعد یه کمک دیگم می خوام
تفاوت های این کد بلاکس که من دانلود کردمو با برلند بگین
ممنون
 
  • شروع کننده موضوع
  • #59

zabolian

کاربر نیمه‌حرفه‌ای
ارسال‌ها
235
امتیاز
25
نام مرکز سمپاد
دبیرستان شهید اژه ای اصفهان
شهر
اصفهان
سال فارغ التحصیلی
1390
مدال المپیاد
۳ روز پیش ( ۲۴ اسفند ۸۸) مدال طلای المپیاد کامپیوتر گرفتم
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی نرم افزار
پاسخ : برنامه نویسی

به نقل از حامد مهدوی :
من امروز نتونستم کد بزنم ولی اون سوال sgu به این شکل حل میشه دیگه


یه n ثابت می گیریم
k رو ورودی میگیریم
یه آرایه به طول n تعریف می کنیم
بعد یه for می دیم عناصر آرایه رو می گیریم
8 تا متغییر در نظر می گیریم
بعد با یه for عناصر آرایه رو تقسیم صحیح بر هزار می کنیم،
بعد یه for میدیم که عناصر آرایه تقسیم صحیح به 1000 بشن بعد یه if می دیم که مثلا اگه جواب 1 شد متغیر 1 از اون 8 تا به علاوه ی یک بشه،همینطوری تو if واسه 8 تای دیگه شرط تعیین می کنیم

بعد 8 تا متغیر رو تقسیم صحیح به k می کنیم به علاوه ی یک می کنیم(برای هر کدوم یه متغیر جدید در نظر می گیریم)

بعد حاصل 8 تا رو باهم جمع می کنیم
به علاوه ی دو می کنیم درسته؟

شرمنده که دیر جواب دادم! چرا هیشکی دیگه جواب نداد؟
جوابت درسته ( البته اون جا که تقسیم صحیح به k میکنی، باید فقط در صورتی که باقیموندش بر K از صفر بیشتر بود، جواب رو به علاوه ی ۱ کنی )، کلا اگه کدش رو درست بزنی، درسته دیگه!

به نقل از حامد مهدوی :
بعد یه کمک دیگم می خوام
تفاوت های این کد بلاکس که من دانلود کردمو با برلند بگین
ممنون

من با کدبلاکس کار نکردم! ولی تا جایی که میدونم، ادیتورش ( editor :D ) بهتره، و کامپایلر برلند با کامپایلری که توی سایتایی sgu و اینا هست فرق داره، یعنی معمولا اگه کدی که تو برلند زدی رو بدی به سایت sgu یا usaco یا ... بهت CE ( کامپایل ارور ) میده! واسه همین میگیم از کد بلاکس استفاده کن!

قرار شد خبر بدید که چه کدایی زدید ( تا بقیه هم برند سراغ اون سوالا ) ، کسایی که اینجا عضوند، هنوز کد زنی رو شروع نکردند؟ دیره ها!
 

M.M.Z

کاربر حرفه‌ای
ارسال‌ها
458
امتیاز
241
نام مرکز سمپاد
علامه حلی کرمان
شهر
کرمان
مدال المپیاد
المپیاد کامپیوتر(نقره سال90) :( damn it
دانشگاه
همین با هنر از سرمم زی
رشته دانشگاه
sleeping engineering
پاسخ : برنامه نویسی

می شه چند تا سوال خوب(به قول شاز) توی sgu معرفی کنین که ما بریم کد همونا رو بزنیم؟
خیلی ممنون
 
بالا