Форум программистов, компьютерный форум CyberForum.ru

Закрасить участок шахматной доски - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Б-дерево(B-tree) http://www.cyberforum.ru/cpp-beginners/thread84848.html
Доброе время суток всем, колдую над кодом уже который день. Вроде Б дерево создал, теперь нужно вывести на екран имя, которое начинается например на "a" или на "al" или на "tr" т.е. все ветки ниже последней буквы введенного слова, ну как в гугле пишеш пару букв а он тебе выдает варианты. У меня в коде может и есть ошибки, но в общем код работает. прошу помочь кто чем может, огромное спасибо. ...
C++ Указатели Составить программу, которая преобразует массивы А(1..10) и В(1..12) следующим образом: элементы, меньшие среднего арифметического всех элементов заменить нулём. Преобразование массивов оформить в виде функции. http://www.cyberforum.ru/cpp-beginners/thread84847.html
C++ Среди заданных целых чисел k,l,m найти пары кратных
Среди заданных целых чисел k,l,m найти пары кратных. То что получилось\получается у меня - бред%)
C++ консольное приложение ,проверьте ошибки
Помогите плз, надо исправить ошибки
C++ Перевести простую пробь в десятичную http://www.cyberforum.ru/cpp-beginners/thread84833.html
доброго времини суток! в программировании я новичек. мне подкинули задачку: умеется числитель и знаменатель простой дроби - натуральные числа. дробь правильная нада написать программу которая переводит простую пробь в десятичную и если имеется период то записывает его как в математике "0.(число в периоде)" может ктото подскажет какую то закономерность по какой можно оперделить какие...
C++ Метод дихотомии (как метод оптимизации) Нужно написать программу решения метода дихотомии (как метод оптимизации) на С++.А я в С++ новичок, многого не знаю. Пожалуйста, помогите кто-нибудь! Буду очень благодарна! подробнее

Показать сообщение отдельно
Day
 Аватар для Day
1152 / 957 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
12.01.2010, 19:39     Закрасить участок шахматной доски
Вот такую конфигурацию, похоже, раскрасить не получится.
ЛЛ a1, b1, c1, a2, c2
Предположим, a1 - Белая.
Тогда a2, b1 - черные
Ладью c2 красить нечем
уточни задачу - что делать в тупике?

Добавлено через 19 минут
Простите!
Наверное, цветов может больше двух.
Это меня шахматный бес попутал.
Тогда все просто.
Вот покатаюсь на лыжах, и расскажу.
Уж больно погодка хороша!

Добавлено через 9 часов 55 минут
Попробуй в таком роде
Код
Матрица char M [500] [500]; // char а не int, чтоб место экономить
Начальное заполнение M[i][j] = 0 - пусто, = 1 - стоит ладья
                       0 <= i < N, 0 <= j < K
 (N, K - задаваемые действительные размеры матрицы <= 500)

  int colG, colV;

  for(i=0; i<N; i++) {  // Цикл по строкам
    colG = 0;
    for(j=0; j<K; j++) {  // Движение по строке
      if (M[i][j]==0) continue;
      colV = 0;
      for(ii=i-1; ii>=0; ii--) {
        if (M[ii][j]) {
          colV = M[ii][j];
          break;
        }
      }
      // colV - цвет ближайшей сверху ладьи по вертикали (или 0)
      for(jj=1; jj<=3; jj++)
        if (jj!=colV && jj!=colG) break;
      // теперь jj - цвет в который спокойно можно красить ладью i,j
      ColG = M[i][j] = jj;
    }
  }
// Переменные colG, colV содержат цвет ближайших ладей
// colG - по горизонтали (слева)
// colV - по вертикали (сверху)
// (Предполагается, что мы идем сверху-вниз и слева-направо)
// если colG или colV == 0, то слева по горизонту
// (соотв. вверх по вертикали) от рассматриваемой точки (i,j) ладей нету
 
Текущее время: 07:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru