Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.02.2014, 07:35   #1
dabenov
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 13
По умолчанию Шахматная доска

Добрый день.
Есть задача:
Вывести шахматную доску 8 * 8. Я делаю так:
Код:
#include "stdafx.h"
#include <iostream>
#include <Windows.h>

using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
	int y=0; 
	int x=1;
        int a;
       cin >> a;
	 while ( y <= 8 )
    {
		y++;
        if( y % 2 == 0)
		{
            while ( x <= a )
				x++;
                cout << "ab " << "ba ";
		}
        else 
		{
            while (x <= a )
				x++;
                cout << "ba " << "ab ";
    
				cout << endl;
		}
    }
	return 0;
}
Но к сожалению задача не работает , подскажите ПОЖАЛУЙСТА, что я делаю не так?
P.S.:Буду признателен за скорый ответ.



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 06.02.2014 в 09:42.
dabenov вне форума Ответить с цитированием
Старый 06.02.2014, 09:45   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

просто любопытно стало, а что это за параметер a, который Вы вводите с консоли?! Вроде бы, задача не требует никакого ввода!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.02.2014, 09:49   #3
dabenov
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
просто любопытно стало, а что это за параметер a, который Вы вводите с консоли?! Вроде бы, задача не требует никакого ввода!
Это пользователь должен ввести число не больше 8, чтобы можно было вывести доску в квадрате 8 * 8. Допустим я ввожу 4 и мне на выходе выдает:
ab ab ab ab
ba ba ba ba
ab ab ab ab
ba ba ba ba.
Остальные ячейки доски он не должен показывать.
dabenov вне форума Ответить с цитированием
Старый 06.02.2014, 09:58   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вы, похоже, пример неверный написали!!!

скорее всего, ожидается такой вывод?:
Код:
ab ba ab ba
ba ab ba ab
ab ba ab ba
ba ab ba ab
или я ошибаюсь?!?

и ещё, хотелось бы увидеть, как должна будет выглядеть ваша "доска" при a = 3
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.02.2014, 10:02   #5
dabenov
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
вы, похоже, пример неверный написали!!!

скорее всего, ожидается такой вывод?:
Код:
ab ba ab ba
ba ab ba ab
ab ba ab ba
ba ab ba ab
или я ошибаюсь?!?

и ещё, хотелось бы увидеть, как должна будет выглядеть ваша "доска" при a = 3
Sorry, затупил
Код:
ab ba ab ba
ba ab ba ab
ab ba ab ba
ba ab ba ab
да так должно быть, а если пользователь ввел 3, то должно быть так:
Код:
ab ba ab 
ba ab ba 
ab ba ab
dabenov вне форума Ответить с цитированием
Старый 06.02.2014, 10:18   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

так устроит?

Код:
{
    int i,j; 
    int a;
    cout << "Введите размер доски (не более 8): ";
    cin >> a;
    if(a>8) { a = 8; }
    for(i=0; i<a; i++)
    {
      for(j=0; j<a; j++)
      {
        if((i+j)%2==0)
        {
           cout << "ab ";
        }
        else 
        {
           cout << "ba ";
        }
      }
      cout << endl;
    }

  return 0;
}
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.02.2014, 10:20   #7
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
а если пользователь ввел 3, то должно быть так:
Код:

ab ba ab
ba ab ba
ab ba ab
почему не
Цитата:
aba
bab
aba
?
rrrFer вне форума Ответить с цитированием
Старый 06.02.2014, 10:21   #8
dabenov
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
так устроит?

Код:
{
    int i,j; 
    int a;
    cout << "Введите размер доски (не более 8): ";
    cin >> a;
    if(a>8) { a = 8; }
    for(i=0; i<a; i++)
    {
      for(j=0; j<a; j++)
      {
        if((i+j)%2==0)
        {
           cout << "ab ";
        }
        else 
        {
           cout << "ba ";
        }
      }
      cout << endl;
    }

  return 0;
}
Мне просто надо написать программу с циклом While
dabenov вне форума Ответить с цитированием
Старый 06.02.2014, 10:22   #9
dabenov
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 13
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
почему не

?
Потому что вывод принимается 1 клетка "доски" = двум буквам
dabenov вне форума Ответить с цитированием
Старый 06.02.2014, 10:25   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от dabenov Посмотреть сообщение
Мне просто надо написать программу с циклом While
О!
А в чём проблема вместо
Код:
for(i=0; i<a; i++)
написать:
Код:
i=0;
while(i<a)
{
  .......
  i++;
}
???!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шахматная доска Veryn4ik1993 C# (си шарп) 1 31.03.2013 22:06
шахматная доска revaldo666 Общие вопросы C/C++ 4 11.01.2011 11:25
Шахматная доска!!! Евгений19 Помощь студентам 3 08.03.2010 20:02
Шахматная доска Настенька..Блонди Паскаль, Turbo Pascal, PascalABC.NET 2 15.05.2009 23:26
Шахматная доска Shevali Помощь студентам 4 03.04.2009 20:22