Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
#1

Вложение циклов - C++

28.12.2012, 18:38. Просмотров 946. Ответов 9
Метки нет (Все метки)

Объясните вложение циклов и привидите примерчик какой-нить...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2012, 18:38
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вложение циклов (C++):

Вложение error2872 - C++
#include <iostream> using namespace std; class string { private: char *str; int len; public:

Написать программу вычисления выражения (см. вложение) - C++
Задали написать программу а я не знаю как :cry: Вот пожалуйста условия: Написать программу вычисление на С++ Пожалуйста кто знает...

Возможно ли вложение контейнера array в контейнер vector? - C++
мне надо в динамическом массиве хранить 3-х мерные координаты треугольников. пытаюсь сделать вот так: vector<array<float,9> >...

Распараллеливание циклов - C++
Возникли трудности с освоением OpenMP Непонимаю, почему если закоментировать вот этот фрагмент кода, то программа работает вы разы...

Инварианты циклов - C++
Всем привет, поясните мне что такое "инварианты" в общем понимании, и они же в циклах! Т.е. что это за зверь и с чем его едят? Как...

Объединение циклов - C++
Доброго времени суток! Есть объединенный цикл. Что выполняет данный цикл? И как сделать что бы был виден результат его работы? for(int...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
28.12.2012, 18:51 #2
вложение циклов - это цикл, в котором вызывается ещё некоторое кол-во циклов.Например:
C++
1
2
3
for(int i=0;i<10;i++)
    for(int j=0;i<10;j++)
         cout<<1;
тут вложен в 1 цикл ещё 1 цикл.выведется 100 единиц.
может быть вложено более одно алгоритма:
C++
1
2
3
4
for(int i=0;i<10;i++)
    for(int j=0;i<10;j++)
         for(int k;k<10;k++)
             //и так далее
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
28.12.2012, 18:54  [ТС] #3
спасибо...,а вопрос,как будет идти выполнение циклов,в каком порядке?
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
28.12.2012, 19:10 #4
faLek, будет выполнятся так(разберем на примере):
C++
1
2
3
for(int i=0;i<10;i++)
    for(int j=0;i<10;j++)
         cout<<1;
Будет выполнятся так - сначала пойдет на выполнение цикл с переменной i, он входит внутрь, и потом пойдет на выполнение цикл j.Когда цикл j выполнится 10 раз, он вернется к циклу i, i увеличится на 1, и опять цикл j будет выполнятся 10 раз и т.д.

Добавлено через 8 минут
прошу прощения - опечатка - во втором цикле вместо i<10, надо поставить j<10
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
28.12.2012, 19:13  [ТС] #5
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
прошу прощения - опечатка - во втором цикле вместо i<10, надо поставить j<10
ну это ясн...
Получается цикл с перменной i выполняется 1 раз и потом входит в цикл с j,там выполняется 10 раз уже,и потом так же 10 раз..
m1Rr0r
247 / 230 / 15
Регистрация: 05.02.2010
Сообщений: 3,256
Завершенные тесты: 2
28.12.2012, 19:17 #6
faLek,
Выполняется внешний цикл, который по "i", затем вложенный, который по "j", отработав "j" вернет управление внешнему циклу, тот в свою очередь увеличит свою управляющую переменную ("i") на единицу и вновь заработает внутренний цикл по "j".
Learx
1035 / 842 / 85
Регистрация: 31.03.2010
Сообщений: 2,465
28.12.2012, 19:21 #7
C++
1
2
3
for(int i=1;i<3;i++)
    for(int j=1;i<4;j++)
         cout<<i*j;
1. Начало внешнего цикла
Значения
Шаг i j на экран
1 1 - -
2.Начало внутреннего цикла
2 1 1 -
3. Выполнение тела внутреннего цикла
3 1 1 1
4. Конец ТЕЛА вложенного цикла. Выполнения оператора j++
4 1 2 -
5. Проверка условия j<4. Продолжается внутренний цикл
5 1 2 2
6. 1 3 -
7. 1 3 3
8. 1 4 -
9. Проверка условия j<4. Завершение внутреннего цикла
9. Конец тела внешнего цикла. i++
10. Проверка уловия i<3. Продолжается внешний цикл
10 2 - - //если j объявлена вне цикла, то она сохраняет значение
11. Начало вложенного цикла.
11 2 1 -
12 2 1 1
13 2 2 -
14 2 2 2
15 2 3 -
16 2 3 3
17 2 4 -
18 Выход со вложенного цикла
19. 3 - -
20. Завершение внешнего цикла
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
28.12.2012, 19:49  [ТС] #8
спасибо ребят..
Learx
1035 / 842 / 85
Регистрация: 31.03.2010
Сообщений: 2,465
28.12.2012, 20:37 #9
[удалено]
 Комментарий модератора 
Правила форума п. 5.10: Запрещено накручивать репутацию и другую статистику пользователя любым способом, включая создание пользователей-клонов, а также склонять (агитировать) других пользователей к ее изменению.
faLek
99 / 100 / 7
Регистрация: 06.03.2012
Сообщений: 478
28.12.2012, 20:58  [ТС] #10
знаю,но привык благодарность так выражать и спасибо клацну=)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.12.2012, 20:58
Привет! Вот еще темы с ответами:

Счетчик циклов - C++
помогите найти ошибку: #include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;cstdlib&gt; using namespace std; int main(int argc, char**...

Прерывание циклов - C++
Допустим есть цикл в цикле и если во внутреннем цикле выполняется некоторое условие, необходимо прервать оба цикла.Возможно ли это? Заранее...

Оптимизация циклов - C++
я был очень удивлён, когда путём простой перемены мест внешнего цикла с внутренним проиводительность метода увеличилась на 20% :) ...

Организация циклов в С - C++
Составить программу в С: 1. Составить программу, проверяющую, является ли заданное натуральное число совершенным, то есть равным сумме...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.12.2012, 20:58
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru