![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Enya |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
Вот. Всего на шахматной доске получается 64 клетки. Программа запрашивает число и говорит какого цвета ячейка под этим номером. Я что-то выбилась из сил.
![]()
Вот одна мысль по поводу этой задачи:
Вот что получается если ввести например номер 3:
Может у кого-нибудь родяться мысли? ![]() Добавлено @ 23:28 Первая ячейка ЧЁРНАЯ. -------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
||||||
|
|||||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Enya, а не пробовал нумеровать шахматные клетки по-другому? Задавать координаты клетки двумя числами(координаты по x и y).
При переходе на соседнюю клетку(по горизонтали или вертикали) цвет клетки меняется. Таким образом, цвет клетки получается равен: ( x%2 + y%2 )%2 = (x+y)%2, где (x,y) - координата клетки -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
Enya |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
DeadSoul, вашу бы мысль да кодом выразить?!
-------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
|||
|
||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
Enya |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
DeadSoul хотя бы кусок кода черкани...
![]() -------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 3 Всего: 10 |
Вот в эту формулу вводиш номер ячейки (num) в пределах от 1 до 64
color приобретает значение 0 если ячейка черная и 1 если ячейка белая. Все остальное уже дело техники. -------------------- Пролетал мимо. |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
хех...а решение-то элементарное
![]() советую завести двумерный массив типа, например bool, и не париться ![]() то бишь 1- белый... 0 - чёрный ![]()
-------------------- СУВ, Partizan. |
|||
|
||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
И зачем? -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
CMarray[ Num/8 ][ Num%8-1 ] ? cout << "Black" : cout << "White";
за этим.... -------------------- СУВ, Partizan. |
|||
|
||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 3 Всего: 10 |
Partizan У тебя в выражении маленькая логическая ошибка. счисление начинается с 1. Надо скорее всего так:
-------------------- Пролетал мимо. |
|||
|
||||
Enya |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
Fin, Partizan ребята спасибо.
![]() Но вот только на языке Си есть булевые переменные? И вот ещё вопрос массивчик CMarray
-------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
|||
|
||||
DeadSoul |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
У меня нумерация идет с нуля и используется одномерный массив размера 64:
В чем выражается премущество твоего варианта? -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
||||
|
|||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
Собственно зря вы так
![]() Человек попросил код решения, я его написал вот и всё..... чей код использовать это уже его(её) личый выбор... -------------------- СУВ, Partizan. |
|||
|
||||
Helicopterr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
int number;
cin >> number; if ( (number % 2) > NULL ) cout<<"Black"; else cout<<"White"; ![]() Partizan создавать массив 8х8 ради этой задачи? Я плакал. ![]() Это сообщение отредактировал(а) Helicopterr - 16.1.2006, 02:53 -------------------- people can fly |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
Helicopterr я бы советовал вам подумать, прежде чем писать оскорбления...
заметьте 1-я клетка имеет Чёрный цвет.... 9-я - белый.... а в вашем коде и 1 и 9 имеют чёрный цвет.... то бишь получется что столбцы с нечетными номерами чёрные, а с чётными - белые... вот так... -1..... -------------------- СУВ, Partizan. |
|||
|
||||
darkart |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 379 Регистрация: 9.11.2005 Репутация: 2 Всего: 31 |
Наверное так...
Это сообщение отредактировал(а) darkart - 16.1.2006, 03:24 |
|||
|
||||
Helicopterr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
Partizan
Смотря с какой стороны смотреть на доску и в каком порядке отсчитывать поля. А насчет "оскорблений" я что-то не понял. Это сообщение отредактировал(а) Helicopterr - 16.1.2006, 06:02 -------------------- people can fly |
|||
|
||||
Enya |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
darkart, ваша мысль наиболее чёткая.
Всем спасибо. Ночью будет время, расскажу что было на занятиях по програмированию. ![]() -------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
вы плакали? ![]() хорошо... покажите мне,пожалуйста такой пример отсчета, чтобы ваша формула была верна.... смотреть на доску можете хоть с какой стороны... ну и конечно последовательность клеток должна сохраняться...то есть нумерация должна быть строго последовательна...а не нумеровать по диагоналям... -------------------- СУВ, Partizan. |
|||
|
||||
Helicopterr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
Partizan
Зачем по диагоналям? змейкой или по кругу вполне можно. Но предлагаю всё же уточнить начальные условия. Итак условия, как я понял: счёт полей по вертикалям слево направо т.е. будто текст читаем, ввод пользователя от 1 до 64. Ещё напомню, что в шахматах первое поле - а1 (1) черное, как и последнее - h8 (64). Тогда получим:
Думаю, вполне лаконично. ![]() Насчёт варианта darkart незнаю, сейчас посмотрю... -------------------- people can fly |
|||
|
||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
а теперь, пожалуйста, сравните то, что у вас было раньше, и то, что у вас есть сейчас...
ибо результаты работы программ Разные(!). -------------------- СУВ, Partizan. |
|||
|
||||
DeadSoul |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Это констатация факта. Я, например, не получил внятного ответа на вопрос за каким лешим там нужен массив Добавлено @ 22:47
На каких компиляторах проверял и с какими настройками? -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
||||
|
|||||
Fin |
|
|||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 3 Всего: 10 |
Ребята
![]() -------------------- Пролетал мимо. |
|||
|
||||
Enya |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 5.10.2005 Репутация: нет Всего: нет |
darkart, ваше решение наиболее оптимальное!
-------------------- Утсанвлен Денвер 1. PHP Version 5.1.6 2. MySQL 5.0.18-max 3. phpMyAdmin 2.6.1 |
|||
|
||||
DeadSoul |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Неа, для int-ов вместо a%2 выгоднее писать a&1 -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Меня кое что другое очень заинтересовало..почему все решают задачу находя координаты шахматного поля одним int num?
Почему не двумя координатами? Для решения шахматных задач насколько я знаю используются два... Это сообщение отредактировал(а) azesmcar - 17.1.2006, 09:54 |
|||
|
||||
Partizan |
|
||||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
проверял в своей голове....чтобы понять что эти 2 кода различны совсем не обязательно пытаться их скомпилировать....если не верите можете скомпилировать их... 1-й его код(неверный)(это из мессаги, в которой он плакал ![]() ![]() ![]()
2-й его код (верный):
-------------------- СУВ, Partizan. |
||||
|
|||||
threef |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: 9 Всего: 10 |
||||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Ну это то ясно...меня интересует почему функции с одним параметром??? Ну так давайте сразу забудем о двумерных массивах будем использовать одномерные и каждый раз вычислять из заданых координатов...какой смысл??? если работаем как с двумерным массивом то и индексы обращения должны быть как у двумерного... Я же не говорю что это противопоказано...просто думаю что неудобно, ведь работать с этой доской придеться потом как с двумерным массивом, вместо одного индекса будут два...не преобразовывать же его каждый раз? |
|||
|
||||
Guest |
|
|||
Unregistered |
bool Value; - 1 байт в откомпилированном exe, соответственно в памяти тоже. 8*8=64 байта? И вы предлагаете массив для решения тривиальной задачи.
![]() |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
охренительно огромный объем оперативки. где б еще ком найти, чтобы там эта жутко огромная программа запустилась?
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Fin |
|
||||
![]() Дракон->Спать(); ![]() ![]() Профиль Группа: Участник Сообщений: 687 Регистрация: 4.1.2006 Репутация: 3 Всего: 10 |
azesmcar
Чтобы понять, почему именно такие решения даются, прочти условия задачи.
-------------------- Пролетал мимо. |
||||
|
|||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Этот вопрос и автора касается... ![]() |
|||
|
||||
Exekutor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 1.11.2005 Где: Казахстан. Костан ай Репутация: 1 Всего: 4 |
Забавно, что вокруг такой тривиальной задачки разгорелась такая дискуссия. Каждый начинающий программист решал такую или похожую задачку. Согласен с Helicopterr это решение самое эффективное.
З. Ы.
![]() ![]() -------------------- [color=blue][size=2]En taro addun, ma sol larinas[/size][/color] |
|||
|
||||
Helicopterr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
Exekutor
Спасибо! Хоть кто-то понял... ![]() -------------------- people can fly |
|||
|
||||
DeadSoul |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Exekutor, это нормально. Просто начинающий не видит некоторые вещи, которые увидит более опытный Добавлено @ 22:19 Вот пример вопроса:
Классы A и B реализованы где-то выше. С данным классом все в порядке? -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
||||
|
|||||
Partizan |
|
||||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
Я не утверждал что предложенное мной решение единственно...тем не менее оно имеет право на существование.... но вы, согласитесь, в первом варианте решения не то совсем написали, что нужно...
Конструктор в обявлении класса и реализация разные ![]() DoublePtr( int* pInt, double* pDouble ) не есть конструктор класса DoublePtr ![]() -------------------- СУВ, Partizan. |
||||
|
|||||
DeadSoul |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Описался, блин. "Правильный" код выглядит так:
Так с этим кодом все в порядке? -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |