|
2 / 2 / 1
Регистрация: 02.11.2017
Сообщений: 60
|
||||||
Неблокирующая функция15.05.2020, 09:54. Показов 28519. Ответов 94
Метки нет (Все метки)
у меня задача: написать функцию func test(f func(int) int, in1 <-chan int, in2 <- chan int, out chan<- int, n int) в package main.
она n раз сделать следующее 1. прочитать по одному числу из каждого из двух каналов in1 и in2, назовем их x1 и x2. 2. вычислить f(x1) + f(x2) 3. записать полученное значение в out Функция test должна быть неблокирующей, сразу возвращая управление. Функция f может работать долгое время, ожидая чего-либо или производя вычисления. Формат ввода Количество итераций передается через аргумент n. Целые числа подаются через аргументы-каналы in1 и in2. Функция для обработки чисел перед сложением передается через аргумент f. Код на go - вопрос как сделать функцию неблокирующей? в чем у меня ошибка? еще при сборке ругается cannot be extracted via extract ()
0
|
||||||
| 15.05.2020, 09:54 | |
|
Ответы с готовыми решениями:
94
Неблокирующая запись в файл Неблокирующая запись файла
|
|
0 / 0 / 0
Регистрация: 25.05.2020
Сообщений: 5
|
|
| 25.05.2020, 14:27 | |
|
У меня ещё такая ошибка получаеться
panic: Got 142745 from output channel, should be 83602 [recovered] panic: Got 142745 from output channel, should be 83602 goroutine 38 [running]: panic(0x54d080, 0xc82000a990) /usr/lib/go/src/runtime/panic.go:464 +0x3e6 testing.tRunner.func1(0xc820078090) /usr/lib/go/src/testing/testing.go:467 +0x192 panic(0x54d080, 0xc82000a990) /usr/lib/go/src/runtime/panic.go:426 +0x4e9 _/temp/executing.TestSlowSquare(0xc820078090) /temp/executing/main_test.go:104 +0x61f testing.tRunner(0xc820078090, 0x64c4f8) /usr/lib/go/src/testing/testing.go:473 +0x98 created by testing.RunTests /usr/lib/go/src/testing/testing.go:582 +0x892 make: *** [run] Error 1
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2020
Сообщений: 6
|
|
| 25.05.2020, 17:15 | |
|
Это значит что ответ на самом деле не тот, что ожидается.
Например, f(x1) == 22, f(x2) == 33, ожидается 55, а Вы передаёте не 55. У меня подобные ошибки возникали, если специально (для теста) выводить в out случайное число, скажем 12345. А по поводу задания, у меня как и у других - WA. при этом 0.6 сек и ~50Mb.
0
|
|
|
0 / 0 / 0
Регистрация: 19.04.2015
Сообщений: 47
|
|
| 25.05.2020, 17:35 | |
|
А какой компилятор вы используете? У них написано в письме "Мы ожидаем решение задачи Е на Go. Для отправки решения на Go используй gcc go, gcc golang."
Я попробовал выбрать язык "gcc go" при отправке, но все равно WA :c
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2020
Сообщений: 6
|
|
| 25.05.2020, 17:55 | |
|
Отправляю, как указано в примечании к заданию - "Отправлять задачу необходимо под компилятором Make."
Под gc go - CE, под gcc go - RE.
0
|
|
|
117 / 118 / 52
Регистрация: 19.12.2014
Сообщений: 612
|
||||||
| 25.05.2020, 18:00 | ||||||
|
Пробовал такое решение, выдает WA, хотя здесь и включено ожидание получения значений с двух каналов, пока значения не будут полученны, сумма не будет считаться. Что уже не так ума все не приложу
0
|
||||||
| 25.05.2020, 19:07 | |
|
Не по теме: У вас там сессия что ли? Что за наплыв?
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2020
Сообщений: 5
|
|
| 25.05.2020, 19:16 | |
|
Я это понял, всякие разные ошибки уже были. Но возвращается сумма f(int) .. я думал может функция ожидает результат в том же порядке в котором она отправляла данные, а приходят в разброс
0
|
|
|
117 / 118 / 52
Регистрация: 19.12.2014
Сообщений: 612
|
|
| 25.05.2020, 19:18 | |
|
korvin_, да это задание на яндекс контесте, я уже просто из принципа хочу добиться верного ответа, почему же мое решение не подходит.
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2020
Сообщений: 5
|
|
| 25.05.2020, 19:20 | |
|
а F. Сумма двух
у всех верно получилось ? У меня два теста ок а на третьем тесте падает в неверный ответ...
0
|
|
|
117 / 118 / 52
Регистрация: 19.12.2014
Сообщений: 612
|
|
| 25.05.2020, 19:22 | |
|
aoanima, ну там вообще изи, просто задание внимательней прочитай, там может быть до 1000 цифр в одном числе
0
|
|
|
0 / 0 / 0
Регистрация: 23.05.2020
Сообщений: 8
|
|
| 25.05.2020, 21:04 | |
|
Neko-neko, TL у тебя потому что ты ждёшь пустой канал. По крайней мере разницы с закрытием я не заметил. Сам использовал канал вместо мапы. Похоже что при WA и TL система пишет TL. Уже всё перепробовал, походу WA никак не побороть
0
|
|
|
1 / 1 / 0
Регистрация: 25.05.2020
Сообщений: 12
|
|||
| 26.05.2020, 07:08 | |||
|
korvin_, это всё про Ozon объявил о запуске бесплатной школы программирования на Go (на этом форуме видел и решение про SQL-запрос из того же задания ¯\_(ツ)_/¯).
Добавлено через 7 минут
А время в отчёте: 2.081s, 2.082s -- выходит за 2 секунды (Память в допустимых пределах: 49-50 Mb). Почему в мэп, а не в канал: а вдруг f(x_1) выполняется за 1.5 секунды, а f(x_2) - за одну. Тогда если выполнять по очереди, получится 2.5 секунды, а если параллельно и писать в канал, результаты будут в другом порядке.
0
|
|||
|
117 / 118 / 52
Регистрация: 19.12.2014
Сообщений: 612
|
|
| 26.05.2020, 07:40 | |
|
Neko-neko, по моему у них там пиздец какие типы тесты пишут, вчера два идентичных решения выдавали разные ошибки
0
|
|
|
0 / 0 / 0
Регистрация: 25.05.2020
Сообщений: 6
|
|
| 26.05.2020, 09:02 | |
|
Результат компиляции выдаёт одно и то же для WA:
stdout: '/temp/compiling/source' cannot be extracted via extract () /bin/sh ./build.sh stderr:
0
|
|
|
1 / 1 / 0
Регистрация: 25.05.2020
Сообщений: 12
|
|
| 26.05.2020, 09:11 | |
|
pve, он всегда это выдаёт.
0
|
|
|
0 / 0 / 0
Регистрация: 19.05.2020
Сообщений: 11
|
||
| 26.05.2020, 10:02 | ||
|
0
|
||
|
1 / 1 / 0
Регистрация: 25.05.2020
Сообщений: 12
|
||||||
| 26.05.2020, 11:58 | ||||||
|
lokilo, сегодня они вообще что-то сломали?
runtime-error, Stderr:
Кстати, организаторы упоминают "подробные и конструктивные комментарии", на которые они отвечают. Я не заметил, куда их можно слать (кроме как на э-почту). Ещё интересно, можно ли самому писать в Stderr? Или туда идёт только выдача их bash-скрипта?
0
|
||||||
|
|
||||||
| 26.05.2020, 12:54 | ||||||
|
У вас всех неправильные суммы из-за конкурентного доступа к одной переменной разных горутин.
Используйте для атомарной инкрементации
0
|
||||||
|
0 / 0 / 0
Регистрация: 25.05.2020
Сообщений: 6
|
|
| 26.05.2020, 13:29 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 23.05.2020
Сообщений: 8
|
|
| 26.05.2020, 14:16 | |
|
Neko-neko, Я имел ввиду что ты ждёшь когда из выходного всё прочитают, потом закрываешь, поэтому TL. Порядок можно сохранить если в канал писать например слайс с результатом и итерацией
Garry Galler, Ты уверен? Проверял решение своё?
0
|
|
| 26.05.2020, 14:16 | |
|
Функция поиска в массиве и указатели + функция сортировки и поиск найденного элемента
Функция sqrt: существует более одного экземпляра. Функция перегруженная Перегрузка операций: friend-функция или функция-член класса Какую библиотеку надо подключать чтоб работала функция _getch() и функция cin.get()? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Новая последнея моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|