Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
اول رو الگوریتمش کار کنیم. نظر شما چیه؟
من یه بازگشتی به ذهنم می رسه ولی خیلی جالب نیست.
از روی زیرمجموعه هایی با اعضای کمتر ، با اعضای بیشتر را بسازیم.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
برنامه اش رو نوشتم. از snipt من و یا از وبلاگم برنامه را بگیرید.

طبق راهی کهSABB گفته بودند با صفر و یک حل کردم.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
سوال بعدی لطفا
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
برنامهاي نوشته كه بازي "سنگ – كاغذ – قيچي" را انجام دهد. در اين بازي دو نفر به طور همزمان يكي از عبارات "سنگ" يا "كاغذ" يا

"قيچي" را ميگويند(و يا يكي از علامتهاي از قبل مشخص را با دست نشان ميدهند). برنده كسي است كه شيء غلبه كننده بر ديگري را

انتخاب كرده باشد. حالات ممکن، چنين است كه كاغذ بر سنگ غلبه ميكند (ميپوشاند)، سنگ بر قيچي غلبه ميكند (ميشكند) و قيچي بر

كاغذ غلبه ميكند (ميبرد). براي اشياء از يك نوع شمارشي استفاده كنيد.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
rezashiri گفت
برنامهاي نوشته كه بازي "سنگ – كاغذ – قيچي" را انجام دهد. در اين بازي دو نفر به طور همزمان يكي از عبارات "سنگ" يا "كاغذ" يا

"قيچي" را ميگويند(و يا يكي از علامتهاي از قبل مشخص را با دست نشان ميدهند). برنده كسي است كه شيء غلبه كننده بر ديگري را

انتخاب كرده باشد. حالات ممکن، چنين است كه كاغذ بر سنگ غلبه ميكند (ميپوشاند)، سنگ بر قيچي غلبه ميكند (ميشكند) و قيچي بر

كاغذ غلبه ميكند (ميبرد). براي اشياء از يك نوع شمارشي استفاده كنيد.
انتخابهای افراد را Random بگیریم یا از کاربر بخواهیم یا از فایل بخوانیم؟
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
فکر کنم سوال منظورش از کاربر خواستن باشه
ولی شما random رو هم بنویس.
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
rezashiri گفت
فکر کنم سوال منظورش از کاربر خواستن باشه
ولی شما random رو هم بنویس.
من یه طور دیگه پیشنهاد می کنم. برای این که جذابتر بشه برنامه با کاربر بازی کنه. یعنی برنامه اولش یه Random بگیره ولی به کاربر نگه ، بعد کاربر یکی انتخاب کنه تا ببینیم کی برنده می شه.
 

Goharshady1

New Member
ارسال ها
37
لایک ها
0
امتیاز
0
کد
#include <iostream>
#include <conio.h>
#include <stdlib.h>
using namespace std;
int main()
{
    loop:
    int cpu=rand();
    cpu%=3;
    cpu++;
    cout<<"\a\nSang-Kaghaz-Gheichi? (1,2,3)--0 to exit--- ";
    int user;
    cin>>user;
    if(!user) return 0;
    cout<<"\nCPU choosed "<<cpu<<".";
    if(cpu==user) cout<<"\nYou equalized!";
    else
    {
	   switch(user)
	   {
				case 1:
					if(cpu==2)
					   cout<<"\nCPU Won!";
					else
					   cout<<"\nYou Won!";
					break;
				case 2:
					if(cpu==3)
					   cout<<"\nCPU Won!";
					else
					   cout<<"\nYou Won!";
					break;
				case 3:
					if(cpu==1)
					   cout<<"\nCPU Won!";
					else
					   cout<<"\nYou Won!";
					break;
				default:
					   cout<<"\nWhat was that? Please enter 1-2-3!!";
	   }
    }
    getch();
    cout<<"\n\n";
    goto loop;  
}
فقط یک مشکل داره!
همیشه یه عدد انتخاب می کنه!!!
به عنوان سوال بعد راهی پیشنهاد کنید که این مشکل تابع rand را برطرف کند
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
کد Random واقعی رو از snipt من یا وبلاگم بگیرید
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
سوال اول IPSC امسال

این سوال از IPSC امسال هست:
دنباله ای از اعداد به طول n به شما داده می شود. شما باید همان دنباله را به خروجی ببرید با این شرط که مرتب نباشد!! (یعنی اعداد نه صعودی باشند و نه نزولی)
ورودی: از فایل input.txt به این صورت:
خط اول: عدد n
خطوط بعد: n تا عدد
خروجی:
در فایل output.txt
خط اول: عدد n
خطوط بعد: n تا عدد نامرتب
هر چی دلتون می خواد وسطش اسپیس و تب و اینتر بزنید!!
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
Re: سوال اول IPSC امسال

Goharshady گفت
این سوال از IPSC امسال هست:
دنباله ای از اعداد به طول n به شما داده می شود. شما باید همان دنباله را به خروجی ببرید با این شرط که مرتب نباشد!! (یعنی اعداد نه صعودی باشند و نه نزولی)
ورودی: از فایل input.txt به این صورت:
خط اول: عدد n
خطوط بعد: n تا عدد
خروجی:
در فایل output.txt
خط اول: عدد n
خطوط بعد: n تا عدد نامرتب
هر چی دلتون می خواد وسطش اسپیس و تب و اینتر بزنید!!
سوال مثال نقض داره

(n==2)||(n==1) -->
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
Re: سوال اول IPSC امسال

SABB گفت
Goharshady گفت
این سوال از IPSC امسال هست:
دنباله ای از اعداد به طول n به شما داده می شود. شما باید همان دنباله را به خروجی ببرید با این شرط که مرتب نباشد!! (یعنی اعداد نه صعودی باشند و نه نزولی)
ورودی: از فایل input.txt به این صورت:
خط اول: عدد n
خطوط بعد: n تا عدد
خروجی:
در فایل output.txt
خط اول: عدد n
خطوط بعد: n تا عدد نامرتب
هر چی دلتون می خواد وسطش اسپیس و تب و اینتر بزنید!!
سوال مثال نقض داره

(n==2)||(n==1) -->

وقتی سوالی مطرح می کنند ، تضمین شده است که ورودی مثال نقضی برای سوال نیست. در همه ی رقابتهای بین المللی همینطور است. ضمنا n==0 هم مثال نقض است.
 

SABB

New Member
ارسال ها
704
لایک ها
25
امتیاز
0
اگه حداقل n-1 تا شون هم مثل هم باشن مثال نقض است
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
SABB گفت
اگه حداقل n-1 تا شون هم مثل هم باشن مثال نقض است
اعداد متمایز هستند. گیر نده دیگه
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
سوال بعد:
برنامه ای بنویسید که فرمول تجربی یا ملکولی هیدروکربنی را از ورودی بگیرد و تشخیص دهد که از نظر ظرفیت اتمی ، وجود چنین هیدروکربنی ممکن است یا نه!
کاملا واضحه که ما فردا امتحان شیمی داریم ، نه؟
هیدروکربن فقط از هیدروژن و کربن تشکیل شده است. ظرفیت کربن 4 و ظرفیت هیدروژن 1 است.
مثال:(نوشته های برنامه با فونت Lucida و ورودی های کاربر با فونت Garamond هستند. همیشه اول C و سپس H نوشته خواهد شد. فقط یک بار C و فقط یک بار H می نویسیم.)


Please enter a hydrocarbon : C2H400
This hydrocarbon is impossible
Please enter a hydrocarbon : C2H4
This hydrocarbon may be possible
Please enter a hydrocarbon : C2
This hydrocarbon may be possible
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
میشه بگی مشکلات این کد چیه:(یه اشکالش اینه که اگه مثلا C3 وارد کنی کاری نمی کنه!)

(البته من اینارو با اطلاعات سال اولم نوشتم شاید بعضی جاهاش غلط باشه)

کد
	    #include <stdio.h>


int main()
{
int a,b;
char H,C;

printf("please input formol \n");

scanf("%c%d%c%d",&C,&a,&H,&b);


if (b==0)
goto end;

if (a==0)
goto end;



if (b==2*a)
printf("\nhast,alkin");

if (b==(2*a)+2)
printf("\nhast,alkan");

if (b==(2*a)-2)
printf("\nhast,alken");

if (b>2*a+2)
printf("\nnist");

if (b<2*a-2)
printf("\nnist");

end:
printf("\nnist");

return 0;

}
 

Goharshady

New Member
ارسال ها
2,239
لایک ها
166
امتیاز
0
دو تا اشکال کوچولو داره. اولا وقتی H وارد نکنیم ، H رو صفر در نظر نمی گیره.دوما فقط آلکین وآلکان وآلکن روتشخیص میده در حالی که بسیاری از هیدروکربنها در هیچکدام از این گروهها نیستند. راه درست برای مسئله اینه که اتمها را مانند رئوس گراف در نظر بگیریم. کربن راسی با درجه ی 4 و هیدروژن راسی با درجه ی 1 است. هر هیدروژن باید یه یک کربن وصل شود و امکان وصل شدن دو هیدروژن به هم وجود ندارد. اما کد شما برای تشخیص آلکانها و ... بسیار عالی است ، برای این که به بهترین نتیجه برسید می توانید از switch استفاده کنید.
 

rezashiri

Well-Known Member
ارسال ها
1,458
لایک ها
325
امتیاز
83
برنامه ای بنویسید که سه ضلع مثلث را گرفته و شعاع دایره محاطی را محاسبه کند.(برای فرمولش می تونید برین به هندسه 0تا100)
 
بالا