Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/100: Рейтинг темы: голосов - 100, средняя оценка - 4.80
2 / 2 / 0
Регистрация: 06.10.2009
Сообщений: 22
1

Крестики-нолики

06.10.2009, 20:58. Показов 18137. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
11. Квадраты при игре в крестики-нолики занумерованы, как показано на рисунке. Заданы номера трех квадратов: N1, N2, N3, причем N1<N2<N3. Проверить, лежат ли квадраты:
• На одной диагонали
• На одной вертикали
• На одной горизонтали.
1 2 3
4 5 6
7 8 9
помогите пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2009, 20:58
Ответы с готовыми решениями:

Крестики-нолики
Нужно реализовать в Pascal. Что бы были входные(1.in) и выходные(1.out) данные. ) создать .ехе файл...

Крестики-нолики NxN
Доброго времени суток! Друзья, написала программу крестиков-ноликов 3х3, преподаватель просит...

крестики нолики помагите с ними
нужен код проги на языке паскаль, крестики нолики полем 3на3 и вариантами игра- человек с человеком...

Крестики нолики на Pascal, помогите.
помагите сделать игру составить алгоритм

16
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.10.2009, 22:06 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
uses crt;
var n1,n2,n3:byte;
begin
clrscr;
repeat
writeln('Введите 3 разных числа от 1 до 9:');
readln(n1,n2,n3);
until(n1>0)and(n2>n1)and(n3>n2)and(n3<10);
if(n2-n1=3)and(n3-n2=3)then write('На вертикали!')
else if(n2-n1=1)and(n3-n2=1) then write('На горизонтали!')
else if((n2-n1=2)and(n3-n2=2))
     or((n2-n1=4)and(n3-n2=4)) then write('На диагонали!')
else write('Номера не упорядочены!');
readln
end.
1
2 / 2 / 0
Регистрация: 06.10.2009
Сообщений: 22
26.10.2009, 10:57  [ТС] 3
помогите мне пожалуйста, как в этой задаче, когда пишешь номера не попорядку, например 8,5,9. т.е. первое или второе число больше предыдущего.. Как это оформить чтобы писало "номера не упорядочены" Заранее спасибо...
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
26.10.2009, 11:02 4
Julia7772009, Напишите подробное задание, оно явно отличается от предыдущего. Суть задачи в принципе понятна, но неизвестно откуда берутся числа, либо это при вводе последовательности с клавиатуры, либо массив, либо строки и столбцы матрицы, короче условие точное нужно.
0
2 / 2 / 0
Регистрация: 06.10.2009
Сообщений: 22
26.10.2009, 11:04  [ТС] 5
вот это мое условие про крестики нолики, мне нужно чтобы в этой задачи когда я писала чила не по порядку писал "номера не упорядочены" как это оформить(
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
26.10.2009, 12:03 6
Цитата Сообщение от Julia7772009 Посмотреть сообщение
вот это мое условие про крестики нолики, мне нужно чтобы в этой задачи когда я писала чила не по порядку писал "номера не упорядочены" как это оформить
если ты хочешь что бы числа писались не по порядку то просто упорядочь после ввода

Добавлено через 3 минуты
Puporev,
Цитата Сообщение от Puporev Посмотреть сообщение
else if(n2-n1=1)and(n3-n2=1) then write('На горизонтали!')
это условие скорее всего не подойдет так как если мы введем числа 2, 3 , 4 то нам скажет что они находятся на одной горизонтали, я думаю что надо еще одно условие добавить (n3 mod 3=0)
1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
26.10.2009, 12:10 7
это условие скорее всего не подойдет
Да, это я не проверил, сейчас перепишем. И новые условия добавим.

Добавлено через 2 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var n1,n2,n3:byte;
begin
clrscr;
repeat
writeln('Введите 3 разных числа от 1 до 9 по порядку:');
readln(n1,n2,n3);
if (n1<1)or (n3>10) then
writeln('Введены числа не входящие в инт.[1..9], Повторите ввод.')
else if (n2<=n1)or(n3<=n2) then
writeln('Числа введены не по порядку. Повторите ввод.');
until(n1>0)and(n2>n1)and(n3>n2)and(n3<10);
if(n2-n1=3)and(n3-n2=3)then write('На вертикали!')
else if(n2-n1=1)and(n3-n2=1)and(n3 mod 3=0) then write('На горизонтали!')
else if((n2-n1=2)and(n3-n2=2))
     or((n2-n1=4)and(n3-n2=4)) then write('На диагонали!')
else write('Номера не упорядочены!');
readln
end.
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
26.10.2009, 12:14 8
Цитата Сообщение от Puporev Посмотреть сообщение
if((n2-n1=2)and(n3-n2=2))
это тоже не подойдет потому как числа 4,6,8 тоже окажутся типа на одной диагонали
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
26.10.2009, 12:23 9
Продолжим исправлять.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
uses crt;
var n1,n2,n3,k:byte;
begin
clrscr;
repeat
writeln('Введите 3 разных числа от 1 до 9 по порядку:');
readln(n1,n2,n3);
if (n1<1)or (n3>10) then
writeln('Введены числа не входящие в инт.[1..9], Повторите ввод.')
else if (n2<=n1)or(n3<=n2) then
writeln('Числа введены не по порядку. Повторите ввод.');
until(n1>0)and(n2>n1)and(n3>n2)and(n3<10);
if(n2-n1=3)and(n3-n2=3)then write('На вертикали!')
else if(n2-n1=1)and(n3-n2=1)and(n3 mod 3=0) then write('На горизонтали!')
else if(((n2-n1=2)and(n3-n2=2))
     or((n2-n1=4)and(n3-n2=4)))and(n1+n3=10) then write('На диагонали!')
else write('Номера не упорядочены!');
readln
end.
0
2923 / 844 / 324
Регистрация: 30.04.2009
Сообщений: 2,633
26.10.2009, 12:25 10
вообще для данного поля можно просто писать if(n1=1)and(n2=5)and(n3=9)
1
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
26.10.2009, 12:27 11
Так еще 3 5 7, да и короче одним условием.
0
2 / 2 / 0
Регистрация: 06.10.2009
Сообщений: 22
26.10.2009, 16:55  [ТС] 12
вот теперь пишет если ввожу по порядку числа то что "числа введены не попо рядку, на горизонтале"
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
26.10.2009, 17:12 13
Что-то Вы намудрили, все нормально работает.
Вложения
Тип файла: rar KRS_NOL.rar (454 байт, 98 просмотров)
1
2 / 2 / 0
Регистрация: 06.10.2009
Сообщений: 22
26.10.2009, 22:04  [ТС] 14
все работает спасибо огромное)
0
2 / 2 / 0
Регистрация: 06.10.2009
Сообщений: 22
21.12.2009, 15:09  [ТС] 15
Как же мне к этой задаче написать программу с использованием процедуры или функции в зависимости от ее условия?? Помогите
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
21.12.2009, 15:30 16
Здравствуйте, Julia7772009, !
Держите.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
uses crt;
procedure Vvod(var n1,n2,n3:byte);
begin
repeat
writeln('Введите 3 разных числа от 1 до 9 по порядку:');
readln(n1,n2,n3);
if (n1<1)or (n3>10) then
writeln('Введены числа не входящие в инт.[1..9], Повторите ввод.')
else if (n2<=n1)or(n3<=n2) then
writeln('Числа введены не по порядку. Повторите ввод.');
until(n1>0)and(n2>n1)and(n3>n2)and(n3<10);
end;
function Result(n1,n2,n3:byte):string;
var s:string;
begin
if(n2-n1=3)and(n3-n2=3)then s:='На вертикали!'
else if(n2-n1=1)and(n3-n2=1)and(n3 mod 3=0) then s:='На горизонтали!'
else if(((n2-n1=2)and(n3-n2=2))
     or((n2-n1=4)and(n3-n2=4)))and(n1+n3=10) then s:='На диагонали!'
else s:='Номера не упорядочены!';
Result:=s;
end;
var k1,k2,k3:byte;
    r:string;
begin
clrscr;
Vvod(k1,k2,k3);
r:=Result(k1,k2,k3);
write(r);
readln
end.
1
2 / 2 / 0
Регистрация: 06.10.2009
Сообщений: 22
21.12.2009, 15:46  [ТС] 17
Puporev огромнейшее спасибо)) очень вам благодарна
0
21.12.2009, 15:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2009, 15:46
Помогаю со студенческими работами здесь

крестики
Задание: Нужно написать такую программу. при заданном N выводить общую длинну и количество...

Крестики-нолики: плохо прорисовываются "нолики"
Я, наверное, всех уже достал своей игрой, но я опять напоролся на подводный камень. Игра -...

Крестики-Нолики
Программисты, помогите пожалуйста!:) Пытаюсь сделать крестики - нолики на PascalABC.NET, но...

Крестики и нолики
Ребят, нужно сделать чтобы крестики и нолики нажимались мышкой и в конце было кто победил и кто...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru