Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2012, 15:09   #1
Aleksasha19
Новичок
Джуниор
 
Регистрация: 20.05.2012
Сообщений: 2
По умолчанию Программа крестики-нолики

Прошу помощи!, необходимо разобраться в программе, курсовик стынет, буду очень благодарен если ктонибудь обьяснит суть программы и напишет коментарии чтобы все понятно было! заранее спасибо)

Код:
//---------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
#include <vcl.h>
#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int check(int **a,int n){
int i,j,g,v,d1,d2;
for(i=0;i<n;i++){
g=a[i][0];
v=a[0][i];
for(j=0;j<n;j++)
if(a[i][j]!=g||g==' '){
g=' ';
break;
}
for(j=0;j<n;j++)
if(a[j][i]!=v||v==' '){
v=' ';
break;
}
if(g!=' ')
return g;
if(v!=' ')
return v;
}
d1=a[0][0];
d2=a[n-1][n-1];
for(i=0;i<n;i++)
if(a[i][i]!=d1){
d1=' ';
break;
}
if(d1!=' ')
return d1;
for(i=0;i<n;i++)
if(a[n-i-1][n-1-i]!=d2){
d2=' ';
break;
}
if(d2!=' ')
return d2;
return ' ';
}
void out(int **a,int n){
int i,j;
system("cls");
for(j=0;j<n;j++)
printf("--");
printf("-\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf("|%c",a[i][j]);
printf("|\n");
for(j=0;j<n;j++)
printf("--");
printf("-\n");
}
}
int main(){
int **a,i,j,pl,n;
n=3;
a=new int*[n];
for(i=0;i<3;i++){
a[i]=new int[n];
for(j=0;j<=n;j++)
a[i][j]=' ';
}
for(pl=0;;pl=!pl){
do{
out(a,n);
printf("\n%s player:\n",pl?"second":"first");
printf("X>0,X<=%d: ",n); scanf("%d",&i);
printf("Y>0,Y<=%d: ",n); scanf("%d",&j);
}while(i>n||j>n||i<0||j<0||a[i-1][j-1]!=' ');
a[i-1][j-1]=pl?111:120;
i=check(a,n);
if(i!=' '){
out(a,n);
printf("\n%s player win:\n",i==111?"second":"first");
system("pause");
break;
}
}
return 0;
}

//---------------------------------------------------------------------------

Последний раз редактировалось ACE Valery; 20.05.2012 в 17:03.
Aleksasha19 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++ программа крестики-нолики Aleksasha19 Помощь студентам 0 20.05.2012 14:47
Крестики нолики на С 4atty Общие вопросы C/C++ 5 25.07.2011 07:44
Программа: Крестики нолики. ldunka Помощь студентам 0 09.12.2010 17:25
Крестики нолики на C++ Alar Gamedev - cоздание игр: Unity, OpenGL, DirectX 11 15.03.2010 16:09
Крестики нолики aud Паскаль, Turbo Pascal, PascalABC.NET 2 15.06.2009 22:32