Сохранен 23
https://2ch.hk/b/res/306248625.html
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

знатоки в плюсах, подскажите, что я делаю не так? мне нужно обработать исключение: если количество с

 Аноним 20/06/24 Чтв 16:37:40 #1 №306248625 
ISOC++Logo.svg.png
2024-06-20 16.34.44.jpg
2024-06-20 16.34.49.jpg
знатоки в плюсах, подскажите, что я делаю не так? мне нужно обработать исключение: если количество суммируемых значений > количества введенных значений (например, нам нужно просуммировать 5 чисел, а ввели мы всего два), то срабатывает исключение и функция main() запускается по новой. вроде выглядит нормально, но происходит вот такой пиздец (пик 3). а дело всё в том, что мне не дают заново ввести значение n, оно само инициализируется мусором и поэтому происходит такая хуйня. как фиксить? try/catch/throw только сегодня начал изучать, поэтому так туплю.
Аноним 20/06/24 Чтв 16:42:16 #2 №306248827 
>>306248625 (OP)
Так ты себе код зациклил. На исключении делаешь функцию заново и ловишь его же
Убирай нахуй повторный вызов
Аноним 20/06/24 Чтв 16:43:08 #3 №306248869 
>>306248827
так если убрать повторный вызов, то программа просто выводит e.what и подыхает, а мне надо, чтобы она продолжила жить, пока я не введу корректные значения
Аноним 20/06/24 Чтв 16:43:15 #4 №306248882 
>>306248625 (OP)
>функция main() запускается по новой
Это рекурсия, уебан.
Аноним 20/06/24 Чтв 16:44:21 #5 №306248938 
>>306248882
Я знаю, что такое рекурсия, уебан. я без понятия, как по-другому это реализовать, потому что только сегодня начал этот материал изучать, сука
Аноним 20/06/24 Чтв 16:44:47 #6 №306248954 
>>306248869
Так сделай примитивный case/if
Аноним 20/06/24 Чтв 16:48:32 #7 №306249105 
>>306248938
Нет, не знаешь, уебан. Иначе бы не стал её здесь использовать.
Аноним 20/06/24 Чтв 16:51:00 #8 №306249226 
Вкатываешься в айти?
Аноним 20/06/24 Чтв 16:53:31 #9 №306249338 
синьор в треде, сделай while (true) {} и засунь туда все
Аноним 20/06/24 Чтв 16:54:21 #10 №306249372 
зачем так сложно. просто возми Rust
Аноним 20/06/24 Чтв 16:55:21 #11 №306249416 
>>306249372
нахуй раст, пусть на питоне переделывает, там на изи решается нах
Аноним 20/06/24 Чтв 16:56:00 #12 №306249441 
>>306248625 (OP)
У МЕНЯ В 1С ВСЁ ПО РУССКИ А У ВАС НЕТ ИДИ НАХУЙ.
Аноним 20/06/24 Чтв 16:58:16 #13 №306249531 
>>306248625 (OP)
1) выносишь логику в подфункцию
2) в main делаешь что-то типа
{
for(;;){
Try{
f();
}
catch() {
//какой-то вывод
continue;
}
}
Аноним 20/06/24 Чтв 16:58:38 #14 №306249547 
>>306249441
Пидорас подорвался
Аноним 20/06/24 Чтв 17:01:27 #15 №306249655 
>>306249416
да хуй там. на питоне даже переменную нельзя обьявить. плавали - знаем
Аноним 20/06/24 Чтв 17:02:15 #16 №306249690 
>>306249226
типо того
Аноним 20/06/24 Чтв 17:02:48 #17 №306249711 
>>306249531
спасибо, попробую
Аноним 20/06/24 Чтв 17:03:05 #18 №306249720 
1718892174599.png
1718892174600.png
>>306248625 (OP)
Лол, действительно, почему так происходит на Ссях? Буфер входящих данных уже содержит значения какие-то и не ждёт ввода пользователя, тем самым зацикливаясь?
Аноним 20/06/24 Чтв 17:03:45 #19 №306249748 
>>306249547
Почему пидорас?
Аноним 20/06/24 Чтв 17:04:36 #20 №306249783 
>>306248625 (OP)
ДЕБАГЕРОМ ПОЛЬЗОВАТЬСЯ НЕ УЧИЛИ, ДОЛБОЕБ ТУПОРЫЛЫЙ?
Аноним 20/06/24 Чтв 17:11:16 #21 №306250069 
>>306248625 (OP)
А зачем первый for закожен как вечный цикл с выходом через ctrl+d? У тебя же в n уже количество есть, тупо по нему цикл итерируй и гарантированно считаешь нужное количество чисел
Аноним 20/06/24 Чтв 17:11:32 #22 №306250086 
>>306248625 (OP)
Один запрос в гугле и все понятно
https://stackoverflow.com/questions/10966734/cin-in-recursive-function
Аноним 20/06/24 Чтв 17:25:26 #23 №306250663 
>>306249783
свинья ты руснявая, нахуя ты обзываешься?
comments powered by Disqus

Отзывы и предложения