Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

22.09.2012, 19:35. Просмотров 2758. Ответов 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;
}
В чем разница наличие фигурных скобок или отсутствие их?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.09.2012, 19:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вложенные циклы (C++):

Вложенные циклы - C++
Всем привет. Найти все натуральные числа в диапазоне между m и n (m&lt;n), в записи которых нет двух одинаковых цифр. Подсчитать количество...

Вложенные циклы - C++
Подскажите, пожалуйста, как решить данное задание?

Вложенные циклы - C++
я новичок и плохо пока в этом шарю, поэтому прошу помощи. Нужно решить вот это задание на Borland C ++ с использованием вложенных циклов ...

Вложенные циклы - C++
Написать программу которая выводит рисунок * ** * * **** с помощью вложенных циклов

Вложенные циклы - C++
Найти все натуральные числа в диапазоне между m и n (m&lt;n), в записи которых нет двух одинаковых цифр. Подсчитать количество таких чисел. ...

Вложенные циклы - C++
Помогите решить с помощью вложенных циклов. Ввести число строк! вывести похожее на следующее = заданому количеству строк ....* ...** ...

8
Andrey.K
343 / 264 / 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;
}
0
alsav22
5429 / 4824 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
22.09.2012, 19:45 #3
Если есть скобки, то цикл - то что в них. В них: 1) вывести str, 2) перевод строки. Если скобок нет, то цикл то, что до ; , а это 1) вывести str, а уже после выхода из for() перевести строку.
0
snyppimylt
7 / 7 / 1
Регистрация: 18.12.2011
Сообщений: 400
22.09.2012, 19:51  [ТС] #4
Цитата Сообщение от alsav22 Посмотреть сообщение
Если есть скобки, то цикл - то что в них. В них: 1) вывести str, 2) перевод строки. Если скобок нет, то цикл то, что до ; , а это 1) вывести str, а после выхода из for() перевести строку.
Еще раз.. не очень понял.

Добавлено через 3 минуты
Andrey.K, т.е. получается если фигурные скобки стоят во вторичном вложенном цикле, тогда это считается под функцией которая уже работает отдельно?
0
DebieCooper
34 / 34 / 1
Регистрация: 12.10.2011
Сообщений: 296
22.09.2012, 19:52 #5
Что там непонятного?. Читайте книги, либо в интернете напишите: Цикл for
Andrey.K выше вам уже все обьяснил)
2
snyppimylt
7 / 7 / 1
Регистрация: 18.12.2011
Сообщений: 400
22.09.2012, 19:54  [ТС] #6
Цитата Сообщение от DebieCooper Посмотреть сообщение
Что там непонятного?. Читайте книги, либо в интернете напишите: Цикл for
Я что и делаю... просто решил уточнить именно по конкретному вопросу.
0
alsav22
5429 / 4824 / 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;(переход на следующую строку) и следующая итерация внешнего цикла.
1
Andrey.K
343 / 264 / 15
Регистрация: 14.11.2010
Сообщений: 482
22.09.2012, 20:02 #8
Да, но чтобы она начала работать, сначала должен быть вход в самый верхний блок. И тогда вложенный блок отработает.
1
snyppimylt
7 / 7 / 1
Регистрация: 18.12.2011
Сообщений: 400
22.09.2012, 20:15  [ТС] #9
Всем спасибо, все понятно
0
22.09.2012, 20:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2012, 20:15
Привет! Вот еще темы с ответами:

вложенные циклы - C++
Вычислить сумму n членов выр-я: pow(-1, i+1)/pow(i+1, 2) , i=1,2,3,...n. Помогите пожалуйста с решением задачи

C++ Вложенные циклы - C++
Всем привет,у меня такое задание :Посчитать и показать все варианты, которыми можно выдать на руки 200 гривен, доступные номиналы купюр 5,...

Вложенные циклы. - C++
Условие: Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно простых с ним. Взаимно простыми числами называются...

Вложенные циклы - C++
for (int i = 1; i &lt; 10; ++i) { for (int j = 1; j &lt;= i; ++j) cout &lt;&lt; &quot;*&quot;; cout &lt;&lt; &quot;\n&quot;; } Имеется такой...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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