Логическая задача
|
|
snaper1993 | Дата: Вторник, 11.11.2008, 06:44 | Сообщение # 16 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| Seqular, ну напишы что можешь ато я в етом дуб-дерево!
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Seqular | Дата: Вторник, 11.11.2008, 06:47 | Сообщение # 17 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Насчет судоку Вот
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
snaper1993 | Дата: Вторник, 11.11.2008, 06:49 | Сообщение # 18 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: Offline
| Seqular, я знаю что такое судоку только я не знаю как реалеовать ету задачу!
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Seqular | Дата: Вторник, 11.11.2008, 06:50 | Сообщение # 19 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Ну смотри.. Нам нужно проверять чтобы в i-ом столбце и в j-той строке не было повторяющихся цифр.. так? Как такое сделать с пом-ю цикла и условия?
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Seqular | Дата: Вторник, 11.11.2008, 06:51 | Сообщение # 20 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| А судоку будет простая или сложная? Дело в том, что в простой - есть однозначный вариант на каждом шаге.. А с сложной нужно подставлять и проверять, если нет - возвращаться на шаг назад
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Seqular | Дата: Вторник, 11.11.2008, 06:52 | Сообщение # 21 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Quote (snaper1993) Seqular, я знаю что такое судоку только я не знаю как реалеовать ету задачу! Да я так, для общего развития )
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Alexander | Дата: Вторник, 11.11.2008, 06:52 | Сообщение # 22 |
Всевышний
Группа: Модераторы
Сообщений: 475
Статус: Offline
| Quote (Seqular) Нам нужно проверять чтобы в i-ом столбце и в j-той строке не было повторяющихся цифр.. так? нет, ещё в квадрате 3х3 все должны быть разными .
Скажем дружно- нафиг нужно!
|
|
| |
Seqular | Дата: Вторник, 11.11.2008, 06:53 | Сообщение # 23 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Alexander, Да знаю я, погоди... Я ему сначала с простого решил начать ))
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
snaper1993 | Дата: Вторник, 11.11.2008, 06:54 | Сообщение # 24 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: 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
Статус: Offline
| Alexander, Кстати, для удобства работы с квадратами, может организовать 9 матриц 3х3? Или Без этого обойтись, арифметикой
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
Seqular | Дата: Вторник, 11.11.2008, 06:56 | Сообщение # 26 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| snaper1993, Не.. Строки и столбцы смотреть - это отдельные условия.. Ты их зачем-то объединил... В общем-то правильно, только нужно не увеличивать счетчик, а выставить флаг и выйти из цикла. Флаг означает что такую цифру ставить нельзя, ибо есть повторения
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |
snaper1993 | Дата: Вторник, 11.11.2008, 06:58 | Сообщение # 27 |
Бывалый
Группа: Пользователи
Сообщений: 121
Статус: 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
Статус: 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
Статус: Offline
| Так етим кодом мы проверяим есть ли такая цыфра в столбе или што? Добавлено (11.11.2008, 00:09) --------------------------------------------- Seqular, ти где пропал! А как создать таблицу, и здесь не нужно файл использовать!
Я - желанный гость Сайта взаимопомощи программистам Pascal А ты?
|
|
| |
Seqular | Дата: Вторник, 11.11.2008, 07:11 | Сообщение # 30 |
Хранитель
Группа: Администраторы
Сообщений: 859
Статус: Offline
| Quote (snaper1993) Так етим кодом мы проверяим есть ли такая цыфра в столбе или што? Ну а разве нет? =)) Quote (snaper1993) Seqular, ти где пропал! Я, между прочим, живу не только на форуме =) Сейчас я на работу собираюсь, потому что у меня утро.. Да и других дел по горло. Quote (snaper1993) А как создать таблицу, и здесь не нужно файл использовать! Тут нужен двумерный массив, т.е. матрица... Ну тогда просто частично заполняешь ее Random-ом.. Только старайся, чтобы решаемо было
Поддерживаю также проект сообщество молодых сисадминов
|
|
| |