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

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

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

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

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

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

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
О!
А в чём проблема вместо
Код:
for(i=0; i<a; i++)
написать:
Код:
i=0;
while(i<a)
{
  .......
  i++;
}
???!
Вот пробую, но к сожалению не работает
dabenov вне форума Ответить с цитированием
Старый 06.02.2014, 10:35   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

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

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
целиком код программы выложите, посмотрим, что у Вас там не работает!
Код:
{
    int i,j; 
    int a;
    cout << "Введите размер доски (не более 8): ";
    cin >> a;
    if(a>8) { a = 8; }
     i=0; j=0;
    while( i<a )
    {
      i++;
      while( j<a)
      {
        j++;
        if((i+j)%2==0)
        {
           cout << "ab ";
        }
        else 
        {
           cout << "ba ";
        }
      }
      cout << endl;
    }

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

Цитата:
Мне просто надо написать программу с циклом While
Зачем тут цикл? - он не нужен в этой задаче.
Код:
#include <iostream>

int main() {
	int n;
	std::cout << "size [1-8]: ";
	std::cin >> n;
	
	switch (n) {
		case 1 : std::cout << "ba \n"; break;
		case 2 : std::cout << "ba ab \nab ba \n"; break;
		case 3 : std::cout << "ba ab ba \nab ba ab \nba ab ba \n"; break;
		case 4 : std::cout << "ba ab ba ab \nab ba ab ba \nba ab ba ab \nab ba ab ba \n"; break;
		case 5 : std::cout << "ba ab ba ab ba \nab ba ab ba ab \nba ab ba ab ba \nab ba ab ba ab \nba ab ba ab ba \n"; break;
		case 6 : std::cout << "ba ab ba ab ba ab \nab ba ab ba ab ba \nba ab ba ab ba ab \nab ba ab ba ab ba \nba ab ba ab ba ab \nab ba ab ba ab ba \n"; break;
		case 7 : std::cout << "ba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \n"; break;
		case 8 : std::cout << "ba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \n"; break;
		default: std::cout << "bad size";
	}
}
rrrFer вне форума Ответить с цитированием
Старый 06.02.2014, 10:58   #15
dabenov
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 13
По умолчанию

Цитата:
Сообщение от rrrFer Посмотреть сообщение
Зачем тут цикл? - он не нужен в этой задаче.
Код:
#include <iostream>

int main() {
	int n;
	std::cout << "size [1-8]: ";
	std::cin >> n;
	
	switch (n) {
		case 1 : std::cout << "ba \n"; break;
		case 2 : std::cout << "ba ab \nab ba \n"; break;
		case 3 : std::cout << "ba ab ba \nab ba ab \nba ab ba \n"; break;
		case 4 : std::cout << "ba ab ba ab \nab ba ab ba \nba ab ba ab \nab ba ab ba \n"; break;
		case 5 : std::cout << "ba ab ba ab ba \nab ba ab ba ab \nba ab ba ab ba \nab ba ab ba ab \nba ab ba ab ba \n"; break;
		case 6 : std::cout << "ba ab ba ab ba ab \nab ba ab ba ab ba \nba ab ba ab ba ab \nab ba ab ba ab ba \nba ab ba ab ba ab \nab ba ab ba ab ba \n"; break;
		case 7 : std::cout << "ba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \n"; break;
		case 8 : std::cout << "ba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \n"; break;
		default: std::cout << "bad size";
	}
}
чтобы не было такого длинного кода
dabenov вне форума Ответить с цитированием
Старый 06.02.2014, 11:05   #16
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Прикольно... Вот мой вариант....
Код:
#include <iostream>

using namespace std;

int main()	{
	const char BLACK = 'B';
	const char WHITE = 'W';
	const int SIZE = 8;		// Размер доски
	
	char bred[SIZE][SIZE];		// Доска в виде двумерного массива
	
	// Заполнение массива
	for(int i = 0; i < SIZE; i++) {
		for(int j = 0; j < SIZE; j++) {
		if((i + j) % 2 == 0)
			bred[i][j] = BLACK;
		else
			bred[i][j] = WHITE;
		}
	}
	
	// Вывод доски на экран
	for(int i = 0; i < SIZE; i++) {
		for(int j = 0; j < SIZE; j++) {
			cout << "[" << bred[i][j] << "]";
		}
		cout << endl;
	}

	return 0;
}
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 06.02.2014, 11:08   #17
dabenov
Пользователь
 
Регистрация: 06.02.2014
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Bugrimov Посмотреть сообщение
Прикольно... Вот мой вариант....
Код:
#include <iostream>

using namespace std;

int main()	{
	const char BLACK = 'B';
	const char WHITE = 'W';
	const int SIZE = 8;		// Размер доски
	
	char bred[SIZE][SIZE];		// Доска в виде двумерного массива
	
	// Заполнение массива
	for(int i = 0; i < SIZE; i++) {
		for(int j = 0; j < SIZE; j++) {
		if((i + j) % 2 == 0)
			bred[i][j] = BLACK;
		else
			bred[i][j] = WHITE;
		}
	}
	
	// Вывод доски на экран
	for(int i = 0; i < SIZE; i++) {
		for(int j = 0; j < SIZE; j++) {
			cout << "[" << bred[i][j] << "]";
		}
		cout << endl;
	}

	return 0;
}
Простите что повторяюсь, но мне нужно вывести "доску" с помощью цикла While
dabenov вне форума Ответить с цитированием
Старый 06.02.2014, 11:12   #18
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Простите что повторяюсь, но мне нужно вывести "доску" с помощью цикла While
Да нет проблем:
Код:
#include <iostream>

int main() {
	int n;
	std::cout << "size [1-8]: ";
	std::cin >> n;
	
	while (true) {
		switch (n) {
			case 1 : std::cout << "ba \n"; break;
			case 2 : std::cout << "ba ab \nab ba \n"; break;
			case 3 : std::cout << "ba ab ba \nab ba ab \nba ab ba \n"; break;
			case 4 : std::cout << "ba ab ba ab \nab ba ab ba \nba ab ba ab \nab ba ab ba \n"; break;
			case 5 : std::cout << "ba ab ba ab ba \nab ba ab ba ab \nba ab ba ab ba \nab ba ab ba ab \nba ab ba ab ba \n"; break;
			case 6 : std::cout << "ba ab ba ab ba ab \nab ba ab ba ab ba \nba ab ba ab ba ab \nab ba ab ba ab ba \nba ab ba ab ba ab \nab ba ab ba ab ba \n"; break;
			case 7 : std::cout << "ba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \n"; break;
			case 8 : std::cout << "ba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \n"; break;
			default: std::cout << "bad size";
		}
		break;
	}
}
rrrFer вне форума Ответить с цитированием
Старый 06.02.2014, 11:14   #19
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Вы ставите не реальные цели...
Меняйте for на while и вперед...
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Старый 06.02.2014, 11:16   #20
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

switch не нравится что-ли?
Вот без switch:
Код:
#include <iostream>

int main() {
	int n;
	std::cout << "size [1-8]: ";
	std::cin >> n;
	
	while (true) {
		if (n == 1) { std::cout << "ba \n"; break; }
		if (n == 2) { std::cout << "ba ab \nab ba \n"; break; }
		if (n == 3) { std::cout << "ba ab ba \nab ba ab \nba ab ba \n"; break; }
		if (n == 4) { std::cout << "ba ab ba ab \nab ba ab ba \nba ab ba ab \nab ba ab ba \n"; break; }
		if (n == 5) { std::cout << "ba ab ba ab ba \nab ba ab ba ab \nba ab ba ab ba \nab ba ab ba ab \nba ab ba ab ba \n"; break; }
		if (n == 6) { std::cout << "ba ab ba ab ba ab \nab ba ab ba ab ba \nba ab ba ab ba ab \nab ba ab ba ab ba \nba ab ba ab ba ab \nab ba ab ba ab ba \n"; break; }
		if (n == 7) { std::cout << "ba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \nab ba ab ba ab ba ab \nba ab ba ab ba ab ba \n"; break; }
		if (n == 8) { std::cout << "ba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \nba ab ba ab ba ab ba ab \nab ba ab ba ab ba ab ba \n"; break; }
		std::cout << "bad size"; 
		break;
	}
}
Это хороший вариант, быстро работает - со switch еще быстрее.
Windows примерно также написан, я думаю.

Последний раз редактировалось rrrFer; 06.02.2014 в 11:18.
rrrFer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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