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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.05.2012, 14:47   #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;
}

//---------------------------------------------------------------------------
Aleksasha19 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Крестики нолики revaldo666 Общие вопросы C/C++ 8 20.01.2011 17:02
Программа: Крестики нолики. ldunka Помощь студентам 0 09.12.2010 17:25
Крестики-Нолики. oblachko Помощь студентам 5 23.01.2009 19:32
КРЕСТИКИ-НОЛИКИ oblachko Паскаль, Turbo Pascal, PascalABC.NET 1 17.01.2009 22:21
Крестики-нолики С++ ROD Помощь студентам 7 21.12.2008 20:07