Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2023, 11:41   #21
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию

macomics

Код:
while(currentPoolVolume<=volume - fillingSpeed + devastationSpeed)
  currentPoolVolume += fillingSpeed - devastationSpeed;
currentPoolVolume = volume;
по моему это прога подойдет для заполнения бассейна,мне же нужно вычеслить время его заполнения при заданных параметрах

Последний раз редактировалось Maikl68; 10.03.2023 в 11:49.
Maikl68 вне форума Ответить с цитированием
Старый 10.03.2023, 11:49   #22
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию

именно чз for я считал сколько циклов мне надо для заполнения.а уже циклы можно перевести в минуты(ну это я так думаю,что в коде и написал.а он не хочет работать.)
Maikl68 вне форума Ответить с цитированием
Старый 10.03.2023, 13:05   #23
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от Maikl68 Посмотреть сообщение
именно чз for я считал сколько циклов мне надо для заполнения
Если нужно время заполнения, тогда зачем for. Если программа нормально заполняет бассейн через один цикл while, тогда достаточно добавить счётчик и увеличивать его в этом цикле.
Код:
int timeSpend = 1; // В конце после цикла будет еще одно сложение. 1 это учитывает
while(currentPoolVolume<=volume - fillingSpeed + devastationSpeed) {
  currentPoolVolume += fillingSpeed - devastationSpeed;
  timeSpend++;
}
currentPoolVolume = volume;
Теперь в переменной timeSpend посчитается и количество минут, которое потребуется с округлением в большую сторону (при объёме не кратном скорости заполнения)

Да и время проще посчитать сразу по формуле, а не в цикле
Код:
int timeSpend = (volume + fillingSpeed - devastationSpeed - 1) / (fillingSpeed - devastationSpeed);

Последний раз редактировалось macomics; 10.03.2023 в 13:08.
macomics вне форума Ответить с цитированием
Старый 10.03.2023, 13:54   #24
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию

macomics,Все равно получается хрень

Код:
public class Main {
	public static void main(String[] args) {

		int volume = 1200;
		int fillingSpeed = 30; //30 litres per minute
		int devastationSpeed = 10; //10 litres per minute
		int currentPoolVolume = 0;
		int timeSpend = (volume + fillingSpeed - devastationSpeed - 1) / (fillingSpeed - devastationSpeed);
		while (currentPoolVolume <= volume - fillingSpeed + devastationSpeed) {
			for (int i = 0; i <= volume  ; i = i+1) {
			currentPoolVolume += fillingSpeed - devastationSpeed;
				timeSpend++;
				System.out.println(timeSpend);

			}
		}


			}
У меня считает с нуля до 1200 в бесконечном цикле,а тут с 60 до 1200 и тоже цикл бесконечный,хотя у меня break, а тут +=.
В идеале : 6 итераций по 20 литров в минуту,т е 6 минут
Maikl68 вне форума Ответить с цитированием
Старый 10.03.2023, 14:10   #25
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от Maikl68 Посмотреть сообщение
Все равно получается хрень
Потому что for не нужен. Точнее, не нужно два цикла. Можно решить или вообще без циклов, или максимум с одним циклом.
Код:
public class Main {
	public static void main(String[] args) {
		int volume = 1200;
		int fillingSpeed = 30; //30 litres per minute
		int devastationSpeed = 10; //10 litres per minute
		int timeSpend = 0;
		for (int currentPoolVolume = 0; currentPoolVolume < volume; timeSpend++, currentPoolVolume += fillingSpeed - devastationSpeed); 
		System.out.println(timeSpend);
	}
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 10.03.2023, 15:18   #26
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию

BDA, у МЕНЯ КОД ВЫДАЛ :60 эТО В ДЕСЯТЕРО БОЛЬШЕ.А ХОД МЫСЛИ МНЕ ПОНРАВИЛСЯ.пОЛУЧАЕТСЯ В for можно неограниченое количество условий написать?
Maikl68 вне форума Ответить с цитированием
Старый 10.03.2023, 15:32   #27
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Если заливать в объём 1200 литров по 20 литров в минуту, то понадобится 60 минут. Это не условия, а выражения. Да, можно написать несколько. Хотя это и не повод записать всё тело цикла в итерацию.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 10.03.2023, 15:43   #28
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
Хорошо

Спасибо,буду вникать
Maikl68 вне форума Ответить с цитированием
Старый 10.03.2023, 16:17   #29
Maikl68
Пользователь
 
Регистрация: 05.03.2023
Сообщений: 31
По умолчанию

BDA, А выражения можно несколько и в for и в wiele записывать?И что по синтаксису? У вас и ; и просто запятая.А ошибок не выдает.А у меня из за любой точки ругается.
Maikl68 вне форума Ответить с цитированием
Старый 10.03.2023, 16:25   #30
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

так правильно составьте цикл
for (<init>; <cond>; <inc>)
В каждом из компонентов (<init> или <inc>) может быть несколько выражений через запятую.

Пока не научитесь нормально пользоваться синтаксисом базовых конструкций языка лучше не надо лезть в эти заморочки. Иначе совсем запутаетесь. Вам неделю объясняли по поводу лишнего цикла, а вы его зачем то все равно включаете в код.

Последний раз редактировалось macomics; 10.03.2023 в 16:34.
macomics вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике 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