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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.71
snyppimylt
7 / 7 / 1
Регистрация: 18.12.2011
Сообщений: 400
#1

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

22.09.2012, 19:35. Просмотров 2703. Ответов 8
Метки нет (Все метки)

Объясните новичку, в чем разница? Дело в том, что если записывать вложенный цикл в фигурные скобки:
C++
1
2
3
4
for(int d=0; d<y; d++){
        cout<<str;
        cout<<endl;
}
то все символы выстроится в столбик а если без то получится как таблица 10х10.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int  main(){
 
int x=10,y=10;
char str='r';
 
for (int i=0; i<x; i++)
{
 
    for(int d=0; d<y; d++)
        cout<<str;
        cout<<endl;
}
 
 system("pause");
  return 0;
}
В чем разница наличие фигурных скобок или отсутствие их?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2012, 19:35     Вложенные циклы
Посмотрите здесь:

Вложенные циклы C++
C++ Вложенные циклы
C++ Вложенные циклы.
C++ Вложенные циклы
C++ Вложенные циклы
Вложенные циклы C++
Вложенные циклы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
341 / 262 / 15
Регистрация: 14.11.2010
Сообщений: 482
22.09.2012, 19:43     Вложенные циклы #2
Фигурные скобки указывают на блок, между ними. Также они позволяют использовать или объединять несколько операров в циклах как здесь:
C++
1
2
3
4
for(int d=0; d<y; d++){
        cout<<str;
        cout<<endl;
}
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.09.2012, 19:45     Вложенные циклы #3
Если есть скобки, то цикл - то что в них. В них: 1) вывести str, 2) перевод строки. Если скобок нет, то цикл то, что до ; , а это 1) вывести str, а уже после выхода из for() перевести строку.
snyppimylt
7 / 7 / 1
Регистрация: 18.12.2011
Сообщений: 400
22.09.2012, 19:51  [ТС]     Вложенные циклы #4
Цитата Сообщение от alsav22 Посмотреть сообщение
Если есть скобки, то цикл - то что в них. В них: 1) вывести str, 2) перевод строки. Если скобок нет, то цикл то, что до ; , а это 1) вывести str, а после выхода из for() перевести строку.
Еще раз.. не очень понял.

Добавлено через 3 минуты
Andrey.K, т.е. получается если фигурные скобки стоят во вторичном вложенном цикле, тогда это считается под функцией которая уже работает отдельно?
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 290
22.09.2012, 19:52     Вложенные циклы #5
Что там непонятного?. Читайте книги, либо в интернете напишите: Цикл for
Andrey.K выше вам уже все обьяснил)
snyppimylt
7 / 7 / 1
Регистрация: 18.12.2011
Сообщений: 400
22.09.2012, 19:54  [ТС]     Вложенные циклы #6
Цитата Сообщение от DebieCooper Посмотреть сообщение
Что там непонятного?. Читайте книги, либо в интернете напишите: Цикл for
Я что и делаю... просто решил уточнить именно по конкретному вопросу.
alsav22
5415 / 4811 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.09.2012, 20:00     Вложенные циклы #7
C++
1
2
3
4
for(int d=0; d<y; d++){
        cout<<str;
        cout<<endl;
}
Здесь, при каждой итерации цикла (y раз), будут выполняться два действия: 1) вывод str, 2) переход на новую строку. Получится столбик. Если так:
C++
1
2
3
for(int d=0; d<y; d++)
        cout<<str;
        cout<<endl;
, то при каждой итерации цикла (y раз) будет выводится str, и всё. Получится линия символов. После окончания цикла выполнится cout << endl;

Добавлено через 4 минуты
Если так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int  main(){
 
int x=10,y=10;
char str='r';
 
for (int i=0; i<x; i++)
{
 
    for(int d=0; d<y; d++)
        cout<<str;
    cout<<endl; // внешний цикл.
}
 
 system("pause");
  return 0;
}
Второй cout << endl; относится к внешнему циклу. То есть внутренниий цикл выведет y раз str (получится линия символов). Потом будет cout << endl;(переход на следующую строку) и следующая итерация внешнего цикла.
Andrey.K
341 / 262 / 15
Регистрация: 14.11.2010
Сообщений: 482
22.09.2012, 20:02     Вложенные циклы #8
Да, но чтобы она начала работать, сначала должен быть вход в самый верхний блок. И тогда вложенный блок отработает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2012, 20:15     Вложенные циклы
Еще ссылки по теме:

Вложенные циклы C++
C++ Вложенные циклы
Вложенные циклы for C++
C++ Вложенные циклы
C++ Вложенные циклы C++

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

Или воспользуйтесь поиском по форуму:
snyppimylt
7 / 7 / 1
Регистрация: 18.12.2011
Сообщений: 400
22.09.2012, 20:15  [ТС]     Вложенные циклы #9
Всем спасибо, все понятно
Yandex
Объявления
22.09.2012, 20:15     Вложенные циклы
Ответ Создать тему
Опции темы

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