Здравствуйте, 8bit, Вы писали:
8>Как вывести строку текста на экран (консоль приложения) 8>РОВНО 1000 раз 8>не используя явного или не явного цикла, 8>при этом код должен быть минимален и 8>использованы только возможности стандартного C++ ?
8>Определение не явного цикла: 8>цикл созданный путем различных ухитрений, 8>(где обычно присутствует счетчик итераций)
Элементарно:
printf("РОВНО 1000 раз");
Никаких циклов: явных, неявных и т.п.
Re[16]: Варум?
От:
Аноним
Дата:
05.04.06 11:48
Оценка:
Здравствуйте, Erop, Вы писали:
E>Здравствуйте, 8bit, Вы писали:
8>>Все верно ! это нужно сделать через конструктор ! 8>>И это замечательно что такие решения приходят к вам мгновенно !
E>2) А почему это "без неявного цикла"?
Потому что программист лично его не создает.
А уж как там это сделает компилятор — это дело третье....
Здравствуйте, ilya_ny, Вы писали:
_>Здравствуйте, Аноним, Вы писали:
А>>Как вывести строку текста 1000 раз не используя явного или не явного цикла ?
_>на с++ — понятно
_>а как на C# ее решить?
Легко , хотя и маленько извращенно
class C
{
private int i = 1000;
~C()
{
if(--i >= 0)
{
Console.WriteLine("text here;");
GC.ReRegisterForFinalize(this);
GC.Collect(0);
}
else
Console.ReadKey();
}
}
static void Main(string[] args)
{
C c = new C();
c = null;
GC.Collect(0);
}
________________________________
When in Rome, do as the Romans do...
Здравствуйте, Аноним, Вы писали:
А>Как вывести строку текста 1000 раз не используя явного или не явного цикла ?
А что такое неявный цикл? В любом случае управление должно возвращаться на то же место кода, если не писать тупо оператор вывода 1000 раз.
Например, мое решение: создать класс А с членом-указателем на А. В конструкторе вызывать печать и new. Статический член инкрементировать, если 1000, new не вызывать.
Здравствуйте, Hasmik, Вы писали:
H>А что такое неявный цикл? В любом случае управление должно возвращаться на то же место кода, если не писать тупо оператор вывода 1000 раз.
Не в любом.
Во-первых, можно написать программу, не тупо генерирующую 1000 операторов вывода (буст-препроцессор или рекурсивные шаблоны).
Во-вторых, можно безусловно вызывать подпрограммы несколько раз. Это не то же самое, что напедалить 1000 строк, правда?
В-третьих, вместо дублирования кода можно дублировать данные (суммировать строки). Правда, внутри strcpy есть неявный цикл...
H>Например, мое решение: создать класс А с членом-указателем на А. В конструкторе вызывать печать и new. Статический член инкрементировать, если 1000, new не вызывать.
Зачем так выделываться? Это же просто рекурсия. Причём линейная (у тебя резиновый стек, да?)
Написать функцию Actor(int n) — т.е. A::ctor — и в ней рекурсивно вызывать себя саму по условию.
Здравствуйте, Hasmik, Вы писали:
H>Здравствуйте, Аноним, Вы писали:
А>>Как вывести строку текста 1000 раз не используя явного или не явного цикла ?
H>А что такое неявный цикл?
Вот странные вы люди. Вот будет задан такой вопрос и вы что будете спрашивать что такое
неявный цикл ? Т.е что такое явный вы знаете, а что такое неявный не знаете ?
— говорят неправильно R>>>
A>>Слона-то я и не увидел
ME>На мой взгляд, то было правильное решение. Машинный код конструктора, сгенеренного шаблоном класса, не содержит циклов.
ME>Решение с массивом в машинном коде имеет цикл, который вызывает конструкторы.
Вроде как автор говорил, что не должно быть счётчика цикла в программе в каком либо виде, а то, что сгенерирует компилятор не рассматривается. В конце концов, что сгенерирует компилятор — это его лично дело. Один не сделает цикл, другой сделает.
Хотя, конечно, условие очень расплывчатое, из серии "угадайте, что я загадал"
Здравствуйте, Аноним, Вы писали:
А>Как вывести строку текста 1000 раз не используя явного или не явного цикла ?
гм
print "string\n" * 1000
Re[2]: Тест на смекалку !
От:
Аноним
Дата:
13.08.06 10:14
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Как вывести строку текста 1000 раз не используя явного или не явного цикла ?
А>решение на python А>
Здравствуйте, CrazyPit, Вы писали:
CP>Здравствуйте, Аноним, Вы писали:
А>>Как вывести строку текста 1000 раз не используя явного или не явного цикла ?
CP>гм
CP>print "string\n" * 1000