|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.03.2023, 15:18 | #11 |
Пользователь
Регистрация: 05.03.2023
Сообщений: 31
|
for мне нужен что б посчитать циклы.А ваша прога уходит в бесконечный цикл
|
08.03.2023, 15:36 | #12 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,341
|
Чтобы не было зацикливания, нужно плюсик добавить:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
08.03.2023, 15:43 | #13 |
Новичок
Джуниор
Регистрация: 08.03.2023
Сообщений: 24
|
Код:
|
08.03.2023, 15:46 | #14 | |
Новичок
Джуниор
Регистрация: 08.03.2023
Сообщений: 24
|
Lapita12,
Цитата:
В этом случае цикл начинается с начального значения currentPoolVolume, равного 0, и мы продолжаем добавлять объем воды, заполняющей бассейн, на каждой итерации. Мы продолжаем делать это в цикле while до тех пор, пока текущий объем бассейна не достигнет желаемого объема, после чего мы прекращаем заполнение бассейна. Итак, в целом, цикл while нужен нам для проверки условия, достиг ли бассейн желаемого объема или нет, и мы продолжаем обновлять значение currentPoolVolume в каждой итерации цикла, пока не достигнем желаемого объема. |
|
08.03.2023, 15:51 | #15 |
Пользователь
Регистрация: 05.03.2023
Сообщений: 31
|
while я применил что б ограничить обьем.currentPoolVolume + выдает ошибку expression expected
|
08.03.2023, 15:54 | #16 |
Пользователь
Регистрация: 05.03.2023
Сообщений: 31
|
Цикл while нужен нам потому, что мы хотим продолжать наполнять бассейн, пока он не достигнет желаемого объема. Мы не знаем, сколько итераций потребуется для достижения желаемого объема, поэтому нам нужно постоянно проверять, заполнили ли мы бассейн до желаемого объема или нет.
В этом случае цикл начинается с начального значения currentPoolVolume, равного 0, и мы продолжаем добавлять объем воды, заполняющей бассейн, на каждой итерации. Мы продолжаем делать это в цикле while до тех пор, пока текущий объем бассейна не достигнет желаемого объема, после чего мы прекращаем заполнение бассейна. Итак, в целом, цикл while нужен нам для проверки условия, достиг ли бассейн желаемого объема или нет, и мы продолжаем обновлять значение currentPoolVolume в каждой итерации цикла, пока не достигнем желаемого объема. вот молодец.спасибо |
08.03.2023, 15:54 | #17 |
Новичок
Джуниор
Регистрация: 08.03.2023
Сообщений: 24
|
|
08.03.2023, 18:17 | #18 |
Новичок
Джуниор
Регистрация: 08.03.2023
Сообщений: 24
|
Есть несколько проблем с кодом:
1. В строке int currentPoolVolume=fillingSpeed-devastationSpeed; вы вычисляете скорость наполнения минус скорость опустошения, но вы должны их сложить (поскольку они работают в противоположных направлениях). Правильная строка должна быть следующей int currentPoolVolume = fillSpeed + devastationSpeed; . 2. В условии цикла while while(currentPoolVolume<=volume) вы сравниваете объем бассейна со скоростью добавления и удаления воды, что неверно. Вы должны сравнивать текущий объем бассейна с максимальным объемом. Вы можете изменить условие следующим образом while(currentPoolVolume <= volume && i <= volume) . 3. В строке for (int i = 0; i <=volume; i = 1++) вы используете неправильный оператор для увеличения значения параметра i . Правильным оператором является i++ или i += 1 а не 1++ |
09.03.2023, 11:21 | #19 | |
Пользователь
Регистрация: 05.03.2023
Сообщений: 31
|
Lapita12
BDA, Цитата:
это плохо понял.машина не по названиям переменных работает ,а по их значениям,а значит по условию тут будет:30+10.Надо тогда в начале значение int devastationSpeed=-10;? Спасибо за разжевывание,мне не столько задачу надо рещить,сколько разобраться что ,как и почему. while(currentPoolVolume<=volume) я как раз и сравнивал текущий обьем с общим обьемом.(я такдумаю) Последний раз редактировалось Maikl68; 09.03.2023 в 11:44. |
|
09.03.2023, 12:25 | #20 |
Участник клуба
Регистрация: 17.04.2022
Сообщений: 1,833
|
Только при их равенстве не надо продолжать цикл. Иначе на итерации при currentPoolVolume==volume будет еще раз прибавлено currentPoolVolume += fillingSpeed - devastationSpeed; (в этом месте я у себя в коде забыл исправить ошибку поставив +) и бассейн будет переполнен.
А вложенный цикл for вам вообще не нужен. Все отлично будет работать с одним while. В условии цикла while вы как раз проверяете текущее заполнение бассейна и в теле цикла прибавляете скорость его наполнения к текущему объему. Но еще лучше сделать так Код:
Пример (это не C++, я подставляю значения вместо имен переменных и разворачиваю циклы в утверждения): Код:
Последний раз редактировалось macomics; 09.03.2023 в 12:28. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC | kimberly | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 24.12.2012 17:03 |
задача на структуру(struct)/задача на работу с файлом | SevenArth | Помощь студентам | 0 | 26.04.2012 19:06 |
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel | Toofed | Помощь студентам | 0 | 30.11.2011 01:12 |
Задача минимизации дисбаланса на линии сборки (задача минимакса) | LenZab | Microsoft Office Excel | 13 | 13.03.2011 22:51 |