Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 08.07.2017
Сообщений: 54
1

Вывести на консоль заданный символ согласно условию (найти ошибки в работе цикла for)

12.07.2017, 14:55. Показов 808. Ответов 2
Метки нет (Все метки)

У меня есть два цикла for
Один внешний, другой внутренний.
C++
1
2
3
4
5
6
7
8
for (int j = 1; j <= 10; j++)
    {
        for (int i = 1; i <= j; i++)
        {
            cout << '*';
        }
        cout << endl;
    }
В результате получается вот так.
C++
1
2
3
4
5
*
**
***
****
и так далее.
Так вот: Почему при условие, когда вместо i <= j, i == j - не работает? То есть печатается только одна звездочка.
Если разобрать цикл, то условие должно быть верным.
C++
1
2
3
4
5
6
7
8
 for (int j = 1; j <= 10; j++)
    {
        for (int i = 1; i == j; i++)
        {
            cout << '*';
        }
        cout << endl;
    }
Сначала j = 1; доходим до второго цикла i = 1; j = i - условие верное; печатается звездочка, i++; после cout << endl; j++;
Потом снова первый цикл: j = 2; доходим до второго цикла: i = тоже 2, так как ранее оно увеличилось на 1 единицу, а значит условие (j = i) верное, но звездочка то уже не печатается. В итоге: одна звездочка и только cout << endl дальше срабатывал, а внутренний цикл - нет.

Мне не понятно почему так.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2017, 14:55
Ответы с готовыми решениями:

Вывести массив на консоль согласно условию
1 Написать программу , которая должна находить максимальный элемент в двухмерном массиве...

Проинициализировать массив целых чисел согласно условию и вывести его на консоль
С помощью цикла проициализировать массив целых чисел. Заполнить массив значениями 0, 10, 20, 30, 40...

Изменить заданное целое число согласно условию и вывести его на консоль
Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то...

Упорядочить заданный массив согласно условию
Дан массив a. Упорядочить элементы массива а по неубыванию в соответствии со следующим критерием:...

__________________

Записывайтесь на профессиональные курсы C++ разработчиков
2
Велосипедист...
350 / 217 / 73
Регистрация: 15.12.2015
Сообщений: 785
12.07.2017, 15:04 2
Лучший ответ Сообщение было отмечено Jagario как решение

Решение

Цитата Сообщение от Jagario Посмотреть сообщение
доходим до второго цикла: i = тоже 2, так как ранее оно увеличилось на 1 единицу,
А нетушки! i снова 1 Сам посмотри:
Цитата Сообщение от Jagario Посмотреть сообщение
C++
1
for ( int i = 1; ... )
Каждый раз при входе во второй цикл, i будет инициилизироваться единицей.
1
1 / 1 / 0
Регистрация: 08.07.2017
Сообщений: 54
12.07.2017, 15:18  [ТС] 3
Ага. Теперь понятно)
То есть внешний цикл -> внутренний ( печатает столько звездочек сколько и j), потом он заканчивается, то есть уже свою "миссию выполнил" -> cout << endl; -> j++ и потом снова цикл внутренний. В принципе ясненько.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2017, 15:18

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Упорядочить заданный массив согласно условию
Задание: Составить программы благоустройства первых N, N ≤12, элементов массива X. Вид...

Изменить вывод матрицы на консоль согласно условию
Ребят, помогите, пожалуйста с доп. вопросом по лабе. Надо немного изменить прогу, чтобы...

В заданном массиве найти и вывести наибольший по модулю элемент, преобразовав массив, согласно условию
Чот я не догнал, почему не работает (вроде, правильно, но не работает). Условие: Дан массив Р....

Поменять в введенном с клавиатуры строке символов подряд заданный символ на другой заданный символ
Поменять в введенном с клавиатуры строке символов подряд заданный символ на другой заданный символ.


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

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

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