درسسه کد من یه خرده بی دقتی داره.. ولی منظور منو میرسونه.نقل قول:
اين كه نميشه اين اگر خونه [0][0]برابر 1 يا2 باشه
Printable View
درسسه کد من یه خرده بی دقتی داره.. ولی منظور منو میرسونه.نقل قول:
اين كه نميشه اين اگر خونه [0][0]برابر 1 يا2 باشه
نقل قول:lllllllکد:exit(0);
پستمو ويرايش كردم ممنون كه كمك كردي الان امتحان كردم نشد:11:نقل قول:
من الان براي بررسي شرط پيروزي 103 خط كد if نوشتم يعني نميشه كوتاهش كرد :31:
بچه ها بزارين منظورمو يه بار ديگه بگم مايه دوز به شكل زير داريم كه هروقت سه تا خونه پشت سرهم يا اريب 1 يا 2 بشه طرف اول يا دوم برندست:
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
اگه خانه های اریب رو در نظر نگیریم، برنامه ای که برقراری شرط ها رو چک میکنه اینه:نقل قول:
[php]
#include <iostream>
#include <conio.h>
using namespace std;
bool is_winner_line(int a[], unsigned len)
{
for(int k = 1; k <= 2; k++)
for(int i = 0; i <= len - 3; i++)
{
if(a[i] == k && a[i + 1] == k && a[i + 2] == k)
return true;
}
return false;
}
bool is_winner(int b[5][5])
{
for(int i = 0; i < 5; i++)
{
int c[] = { b[0][i], b[1][i], b[2][i], b[3][i], b[4][i] };
if(is_winner_line(c,5))
return true;
int d[] = { b[i][0], b[i][1], b[i][2], b[i][3], b[i][4] };
if(is_winner_line(d, 5))
return true;
}
return false;
}
int main()
{
int b[5][5] =
{
{1,8,3,4,5},
{2,2,4,5,6},
{3,2,5,6,7},
{4,2,1,1,8},
{5,6,7,8,9}
};
if(is_winner(b))
cout<< "you win :)";
else
cout<< "you lose :(";
_getch();
}
[/php]
برای حالت اریب که یه خرده سخت تره باید یه چیزایی اضافه کنید.
همین برنامه رو هم میشه ساده تر کرد ولی فهمیدنش سخت تر میشه..
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]