Понедельник, 03.02.2025
Pascal 4 All
[ · Новые сообщения · Участники · Правила форума · Поиск · RSS ]

 

  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: Seqular, Pavel  

Логическая задача
snaper1993Дата: Вторник, 11.11.2008, 06:44 | Сообщение # 16
Бывалый
Группа: Пользователи
Сообщений: 121
Репутация: 2
Замечания: 0%
Статус: Offline
Seqular, ну напишы что можешь ато я в етом дуб-дерево!

Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
 
SeqularДата: Вторник, 11.11.2008, 06:47 | Сообщение # 17
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Насчет судоку Вот

Поддерживаю также проект сообщество молодых сисадминов
 
snaper1993Дата: Вторник, 11.11.2008, 06:49 | Сообщение # 18
Бывалый
Группа: Пользователи
Сообщений: 121
Репутация: 2
Замечания: 0%
Статус: Offline
Seqular, я знаю что такое судоку только я не знаю как реалеовать ету задачу!

Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
 
SeqularДата: Вторник, 11.11.2008, 06:50 | Сообщение # 19
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Ну смотри.. Нам нужно проверять чтобы в i-ом столбце и в j-той строке не было повторяющихся цифр.. так? Как такое сделать с пом-ю цикла и условия? smile

Поддерживаю также проект сообщество молодых сисадминов
 
SeqularДата: Вторник, 11.11.2008, 06:51 | Сообщение # 20
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
А судоку будет простая или сложная? Дело в том, что в простой - есть однозначный вариант на каждом шаге.. А с сложной нужно подставлять и проверять, если нет - возвращаться на шаг назад

Поддерживаю также проект сообщество молодых сисадминов
 
SeqularДата: Вторник, 11.11.2008, 06:52 | Сообщение # 21
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Quote (snaper1993)
Seqular, я знаю что такое судоку только я не знаю как реалеовать ету задачу!

Да я так, для общего развития )


Поддерживаю также проект сообщество молодых сисадминов
 
AlexanderДата: Вторник, 11.11.2008, 06:52 | Сообщение # 22
Всевышний
Группа: Модераторы
Сообщений: 475
Репутация: 16
Замечания: 0%
Статус: Offline
Quote (Seqular)
Нам нужно проверять чтобы в i-ом столбце и в j-той строке не было повторяющихся цифр.. так?

нет, ещё в квадрате 3х3 все должны быть разными smile .


Скажем дружно- нафиг нужно!
 
SeqularДата: Вторник, 11.11.2008, 06:53 | Сообщение # 23
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Alexander, Да знаю я, погоди... Я ему сначала с простого решил начать ))

Поддерживаю также проект сообщество молодых сисадминов
 
snaper1993Дата: Вторник, 11.11.2008, 06:54 | Сообщение # 24
Бывалый
Группа: Пользователи
Сообщений: 121
Репутация: 2
Замечания: 0%
Статус: Offline
for n:=1 to i do
for n:=1 to j do
begin
if n=n[i,j] then inc(n);

Я наю что не правильно но мне кажеться што штото подобное!


Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
 
SeqularДата: Вторник, 11.11.2008, 06:55 | Сообщение # 25
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Alexander, Кстати, для удобства работы с квадратами, может организовать 9 матриц 3х3? Или Без этого обойтись, арифметикой

Поддерживаю также проект сообщество молодых сисадминов
 
SeqularДата: Вторник, 11.11.2008, 06:56 | Сообщение # 26
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
snaper1993, Не.. Строки и столбцы смотреть - это отдельные условия.. Ты их зачем-то объединил... В общем-то правильно, только нужно не увеличивать счетчик, а выставить флаг и выйти из цикла. Флаг означает что такую цифру ставить нельзя, ибо есть повторения

Поддерживаю также проект сообщество молодых сисадминов
 
snaper1993Дата: Вторник, 11.11.2008, 06:58 | Сообщение # 27
Бывалый
Группа: Пользователи
Сообщений: 121
Репутация: 2
Замечания: 0%
Статус: Offline
типа так:

for n:=1 to i do
for n:=1 to j do
begin
if n=n[i] or n=[j] then flag;
end;


Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
 
SeqularДата: Вторник, 11.11.2008, 07:00 | Сообщение # 28
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Например:
Code

// после вставки числа X в позицию a[k,l]
flag := True;
For i := 1 to n do
Begin
If (i = k) then Continue;
If (a[i, l] = X) then  
     Begin  
     flag := False;  
     Break;  
     End;
End;
А со строками a[i,l] заменяешь на a[k, i], и в условии с Континуе - i = l.

Это приблизительно


Поддерживаю также проект сообщество молодых сисадминов
 
snaper1993Дата: Вторник, 11.11.2008, 07:09 | Сообщение # 29
Бывалый
Группа: Пользователи
Сообщений: 121
Репутация: 2
Замечания: 0%
Статус: Offline
Так етим кодом мы проверяим есть ли такая цыфра в столбе или што?

Добавлено (11.11.2008, 00:09)
---------------------------------------------
Seqular, ти где пропал!
А как создать таблицу, и здесь не нужно файл использовать!


Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
 
SeqularДата: Вторник, 11.11.2008, 07:11 | Сообщение # 30
Хранитель
Группа: Администраторы
Сообщений: 859
Репутация: 35
Статус: Offline
Quote (snaper1993)
Так етим кодом мы проверяим есть ли такая цыфра в столбе или што?

Ну а разве нет? =))

Quote (snaper1993)
Seqular, ти где пропал!

Я, между прочим, живу не только на форуме =) Сейчас я на работу собираюсь, потому что у меня утро.. Да и других дел по горло.

Quote (snaper1993)
А как создать таблицу, и здесь не нужно файл использовать!

Тут нужен двумерный массив, т.е. матрица... Ну тогда просто частично заполняешь ее Random-ом.. Только старайся, чтобы решаемо было happy


Поддерживаю также проект сообщество молодых сисадминов
 
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Copyright MyCorp © 2025
Используются технологии uCoz
javascript:;" rel="nofollow" onclick="loginPopupForm(); return false;