|
82 / 50 / 2
Регистрация: 31.12.2019
Сообщений: 418
|
||||||
Глобальная зона видимости30.03.2020, 17:46. Показов 1282. Ответов 4
Метки нет (Все метки)
Задача по выдаче количества наиболее часто встречающейся буквы.
В приведенном мною решении все показывает правильно, но если мы меняем местополжение sum и добавляем else(второй не рабочий вариант будет помечен комментариями //), то результат уже не тот. Кто может объяснить, в чем отличие, ведь в обоих вариантах я вывел в глоб. зону видимости(как мне казалось)?
0
|
||||||
| 30.03.2020, 17:46 | |
|
Ответы с готовыми решениями:
4
глобальная область видимости Зона видимости Зона видимости переменных |
|
Модератор
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,093
|
||
| 30.03.2020, 20:59 | ||
Сообщение было отмечено Schulzkafer как решение
РешениеНу а что касается того что код не работает при изменении то смотрите: вызываем longRepeat('ddvvrwwwrggg')первые несколько итераций нас не интересуют, доходим до момента когда i == 8; k ==8; line[i] как и line[k] ссылаются на букву r (которая находится перед буквами g, условие if (line[i] == line[k]) выполняется в sum заносится 1. следующая итерация внутреннего цикла: i == 8; k ==9; условие не выполняется, срабатывает else, в sum заносится 0. Дальше пропускаем до тех пор пока i не будет равно 9. i == 9; k ==9; sum == 0; res нас пока не интересует. line[i] как и line[k] ссылаются на первую букву g условие if (line[i] == line[k]) выполняется в sum заносится 1. далее i == 9; k == 10; line[i] ссылается на первую букву g, line[k] на вторую. Условие выполняется, sum увеличивается на 1; далее, i == 9; k == 11; все происходит точно также, только line[k] ссылается на последнюю букву g, sum увеличивается на 1 и равно 3 Следующая итерация внешнего цикла: i == 10; k == 10; sum = 3; line[i] как и line[k] ссылаются на вторую букву g, условие выполняется, sum увеличивается на 1 и равно 4(ведь сброса sum не происходило) i == 10; k == 11; line[i] ссылается на вторую букву g, line[k] на последнюю, условие выполняется sum увеличивается еще на 1 и равно уже 5. ну и последняя итерация, i == 11; k == 11; line[i] и line[k] ссылаются на последнюю букву g, условия выполняется sum увеличивается еще на 1 и равно 6. При запуске longRepeat('sdsffffse') исправленный код выдает верный результат потому, что sum постоянно сбрасывается, так как после повторяющихся букв f идут другие буквы и срабатывает else Кстати если бы вы даже вынесли переменную sum в глобальную область видимости, это ничего бы не изменило, так как сброса переменной в исправленном коде не происходит
3
|
||
|
82 / 50 / 2
Регистрация: 31.12.2019
Сообщений: 418
|
|
| 30.03.2020, 23:17 [ТС] | |
|
БОльшое, огромное спасибо за столь развернутый ответ, а вернее 2 ответа;
- пересмотрел теорию и понял что такое глоб. переменная; -наконец-то понял в какой последовательности исполняются итерации во вложенном цикле, этого мне не хватало сильно для решения задач, потому что я видел их исполнение в целом, поэтому просто воспроизводил подобное). сейчас воспроизвел все на листочке и все стало ясно. Спасиииибо!
0
|
|
|
Модератор
2379 / 1739 / 677
Регистрация: 07.08.2016
Сообщений: 4,093
|
||||||||
| 30.03.2020, 23:50 | ||||||||
![]() Т.е. если в каждом цикле задать условие на выполнение цикла 10 раз то самый внутренний цикл отработает аж 1000 раз ![]()
2
|
||||||||
|
82 / 50 / 2
Регистрация: 31.12.2019
Сообщений: 418
|
||||||
| 31.03.2020, 15:54 [ТС] | ||||||
|
а это уже моя переделка, для наглядного отображения какой цикл-чем занимается-в какой-момент:
0
|
||||||
| 31.03.2020, 15:54 | |
|
Помогаю со студенческими работами здесь
5
Вызов функций. Зона видимости Компонент вроде ListView и зона видимости.
Вложенные классы, зона видимости класса, заголовочный фаил Глобальная переменная локальной видимости Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|