Форум » Обработка числовых последовательностей » Вложенный цикл при считывании строк » Ответить

Вложенный цикл при считывании строк

Анна: В одной из задач С4 используется посимвольный метод считывания строк (т.е. читаем до пробела, потом еще раз). Здесь требуется использовать цикл repeat два раза. Можно просто записать их подряд, а можно вложить в цикл от 1 до 2, как вы и советуете в своем разборе: " ...заметьте, что эти два цикла одинаковы, поэтому ввод имени и фамилии можно записать в виде вложенного цикла так: Info[i].name := ''; { пустая строка } for k:=1 to 2 do repeat read ( c ); Info[i].name := Info[i].name + c; until c = ' '; { пока не прочитали пробел } " Не получается ли в этом случае сложность программы O(N2) вместо О(N) - цикл ведь вложенный? Не эффективней ли все-таки два раза написать repeat?

Ответов - 1

Поляков: Анна пишет: Не получается ли в этом случае сложность программы O(N2) вместо О(N) - цикл ведь вложенный? Нет, сложность O(N) в обоих случаях. Количество шагов цикла около 2N. То есть, оба варианта одинаково эффективны.



полная версия страницы