Блоги ::: Познавательное ::: задачка

Не так давно на #c++ обсуждалась эта задачка. Суть её в следующем:
Дан код на с++
int main()
{
int i, N=20;
for( i = 0; i < N; i-- ) cout << "*";
}
В таком виде программа не выводит на экран ничего.
Задание такое: Изменить или добавить 1 символ так, чтобы программа выводила:
а) 1 звездочку
б) 20 звездочек
в) 21 звездочку

От себя скажу, что задачку я лично решил, но:
для а) решение моё не очень элегантное, а для в) - фантастическое =)


<<< Предыдущая работа

Вернуться в блоги
задачка
Изменить или добавить один символ в коде так, чтобы программа выводила 1, 20 или 21 звездочку.
Автор: Боевая Тентакля
Дата: 17.01.2008  11:25
Комментариев: 5
Просмотров: 183
Оценка: 0 (0|0|0|0|0) [0]

Вернуться на главную
Вы не можете оценивать

КОММЕНТАРИИ К РАБОТЕ:
Администратор 1-го ранга (Координатор) Alex_D* ::: комментарий от 18.01.2008 | 19:27
Alex_D Мастер (ур.17)
Очки: 35517
Город: Новосибирск
Тв. работ: 112
Рег: 27.04.2006 (34)
Ответ для Sauron 18.01.2008 | 09:09:

Просто все команды описаны в "пробеле" Цикл должен пройти "в холостую"


--------------------
А вы думали, я здесь случайно?
Администратор 1-го ранга (Координатор) Sauron ::: комментарий от 18.01.2008 | 09:09
Sauron Вождь (ур.18)
Очки: 38868
Город: Томск
Тв. работ: 161
Рег: 27.04.2006 (15)
цитирую:
для одной - перед cout поставить ";" Неоднозначно исполнение подобного цикла, но вероятно, что "рано или поздно" он оборвется и выполнит следующую команду.

а это развене syntax error, так цикл описывать?


--------------------
Твое здоровье, черный пластелин.
Администратор 1-го ранга (Координатор) Sauron ::: комментарий от 18.01.2008 | 09:08
Sauron Вождь (ур.18)
Очки: 38868
Город: Томск
Тв. работ: 161
Рег: 27.04.2006 (15)
Неправильно написано что ничего не выводит изначально, там получаеццо бесконечное удовлетворение условию цикла.


--------------------
Твое здоровье, черный пластелин.
Администратор 1-го ранга (Координатор) Alex_D* ::: комментарий от 17.01.2008 | 12:56
Alex_D Мастер (ур.17)
Очки: 35517
Город: Новосибирск
Тв. работ: 112
Рег: 27.04.2006 (34)
Есть еще вариант для вывода 20тки... Но может еще кого заинтересует пост


--------------------
А вы думали, я здесь случайно?
Администратор 1-го ранга (Координатор) Alex_D* ::: комментарий от 17.01.2008 | 12:49
Alex_D Мастер (ур.17)
Очки: 35517
Город: Новосибирск
Тв. работ: 112
Рег: 27.04.2006 (34)
Мне "почему-то кажется", что выполнение исходного кода зависает в бесконечном выводе звездочек...

Для 20 в сравнении указать "-i" или "-N"; для одной - перед cout поставить ";" Неоднозначно исполнение подобного цикла, но вероятно, что "рано или поздно" он оборвется и выполнит следующую команду.

PS исходный код выводит и одну, и 20, и 21 звездочку


--------------------
А вы думали, я здесь случайно?