[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!


Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 91 | 26 | 12
Назад Вниз Каталог Обновить

Аноним # OP  11/05/17 Чтв 21:01:16  152863132  
.png (39Кб, 236x234)
Функциональное программирование уровня /b/

Суп, двач. Есть одна лаба.

Запрограммировать на языке Коммон Лисп функцию, принимающую три аргумента:
A - двумерный массив, представляющий действительную матрицу размера m×n,
v - вектор действительных чисел длины m,
j - номер столбца, 0≤j≤n.

Т.е. должно быть так: (function #2A((1 2) (3 4) (5 6)) (0 0 0) 0) => #2A((0 1 2) (0 3 4) (0 5 6)

Затрудняюсь с алгоритмом и, следовательно, с реализацией. Пока есть такая идея: идём лупом по всем массивам из А, сравниваем номер текущего элемента с j: если совпали, то пишем сначала элемент из v, а за ним - тот, который стоял изначально. Правильно ли думаю? Если да, то как это реализовать?

Бампаю котиками.
Аноним 11/05/17 Чтв 21:02:28  152863222
.jpg (70Кб, 683x1024)
Аноним 11/05/17 Чтв 21:02:50  152863241
.jpg (55Кб, 604x604)
Аноним 11/05/17 Чтв 21:03:43  152863310
.jpg (23Кб, 403x403)
Аноним 11/05/17 Чтв 21:05:08  152863407
.jpg (30Кб, 600x400)
Аноним 11/05/17 Чтв 21:07:14  152863552
.jpg (36Кб, 450x299)
Аноним 11/05/17 Чтв 21:07:58  152863600
.jpg (32Кб, 784x488)
Аноним 11/05/17 Чтв 21:08:30  152863643
>>152863132 (OP)
>столбец с нулевым номером
А ты неплох, продолжай.
Аноним 11/05/17 Чтв 21:09:18  152863715
>>152863643
Не я это придумал.
Аноним 11/05/17 Чтв 21:09:44  152863741
>>152863643
Вот:

Функция должна возвращать новую матрицу размера m×(n+1), полученную вставкой после столбца с номером j нового столбца с элементами из v. j=0 означает вставку перед самым первым столбцом.

Исходный массив A должен оставаться неизменным.
Аноним 11/05/17 Чтв 21:11:13  152863849
.jpg (80Кб, 850x566)
Аноним 11/05/17 Чтв 21:11:53  152863907
>>152863132 (OP)
Идешь циклом по первому измерению первого массива
На каждый i-й ряд вызываешь другую функцию, куда передаешь сам ряд, i-й элемент второго и третий параметр
Эта другая функция возвращает новый массив, где уже вставлен новый элемент
Аноним 11/05/17 Чтв 21:12:08  152863931
>>152863132 (OP)
>на языке Коммон Лисп
Ну хоть не пасцаль и то хорошо.
Не буду тебя нахуй посылать.
Аноним 11/05/17 Чтв 21:13:09  152864006
Корректировочка.

Идём лупом по всем массивам из А, сравниваем номер текущего элемента с j: если совпали, то пишем сначала исходный элемент, а за ним - из v.
>>152863931
Паскаль у нас в школе был, так что травма у меня уже есть.
Аноним 11/05/17 Чтв 21:14:31  152864103
.png (397Кб, 534x702)
Аноним 11/05/17 Чтв 21:16:32  152864243
А еще более функционально на массив А натравить map
Аноним 11/05/17 Чтв 21:16:54  152864279
>>152864006
>травма у меня уже есть.
Так надо было препода нахуй послать и сдавать на тех же сях.
Опционально - ебло разбить/настучать в районо.
Аноним 11/05/17 Чтв 21:17:07  152864300
.jpg (48Кб, 800x535)
>>152864243
Поподробнее, пожалуйста.
Аноним 11/05/17 Чтв 21:19:27  152864511
>>152864279
Как бы Лисп у нас входит в программу. Предмет называется "функциональное программирование". Зачем на втором курсе давать Scheme, а на третьем - Common Lisp, я не знаю. Думают, что нам это пригодится. Или работают по принципу "Что бы солдат ни делал, лишь бы заебался".
Аноним 11/05/17 Чтв 21:21:39  152864687
>>152864511
>Как бы Лисп у нас входит в программу.
Вот дурачок, я про говнопаскаль и дегенерата-препода.
А лисп - норм вещь, для учебы вообще ок - если не зацикливаться.
>функциональное программирование
Охуенчик, но все же лисп - не совсем то.
Он сам по себе.
Аноним 11/05/17 Чтв 21:25:10  152864972
>>152864687
> Вот дурачок, я про говнопаскаль и дегенерата-препода.
Туплю. Впрочем, ничего нового.
> Охуенчик, но все же лисп - не совсем то.
Охуенчик охуенчиком, но у меня висит лаба. Спасайте, котаны.
Аноним 11/05/17 Чтв 21:27:36  152865149
.jpg (161Кб, 1024x1024)
Аноним 11/05/17 Чтв 21:29:27  152865313
.jpg (99Кб, 990x660)
Аноним 11/05/17 Чтв 21:30:10  152865379
>>152864972
А хуй знает, не писал на лиспе никогда :3
Но чую что тут правильно про map - так что читай описание и думай.
Такие задачки обычно в пару действий.
Аноним 11/05/17 Чтв 21:31:15  152865462
>>152863132 (OP)
>двумерный массив
Есть один нюанс - в лиспе нет массивов, так что задача поставлена неверно.
Аноним 11/05/17 Чтв 21:32:06  152865522
.jpg (51Кб, 467x700)
>>152865379
> Такие задачки обычно в пару действий.
Возможно, т.к. лаба средней сложности. Ща погуглю. Вот тебе радостный котик.
Аноним 11/05/17 Чтв 21:33:37  152865635
>>152865462
> в лиспе нет массивов
Да ну?
http://clhs.lisp.se/Body/f_mk_ar.htm
Аноним 11/05/17 Чтв 21:34:33  152865715
>>152863132 (OP)
Делаешь пандорический захват, лифтишь в монаду, потом строишь рекурсивную схему (здесь подойдёт зигохистоморфный препроморфизм) как монадический трансформер из категории эндофункторов, и метациклически вычисляешь результат. Любой второкурсник справится. А если делать на анафорических лямбдах - так задачка вообще на пять минут.
Аноним 11/05/17 Чтв 21:36:21  152865863
>>152864300

Я не знаю синтаксиса этих ваших лиспов, но на жабоскрипте будет где-то так:

function addArr(a, b, j) {
return a.map(
(row, i) => {
var result = row.slice(0, j).concat(b);
return result.concat(row.slice(j));
}
)
}
console.log(addArr([[1,2,3],[4,5,6],[7,8,9]], [99,99,99], 2))
Аноним 11/05/17 Чтв 21:37:19  152865928
>>152865863
Бля, тут http://js.do/code/151837
Аноним 11/05/17 Чтв 21:38:47  152866056
>>152865715
> lurkmore.to/Копипаста:Программирование
>>152865928
Понятно.
Аноним 11/05/17 Чтв 21:41:15  152866253
>>152865635
В лиспе все есть либо список, либо атом.
Аноним 11/05/17 Чтв 21:42:16  152866352
>>152866253
Знаю. А теперь скажи, как всё это добро замапить.
Аноним 11/05/17 Чтв 21:44:37  152866575
>>152866352
Я так и не понял, что тебе нужно получить.
Аноним 11/05/17 Чтв 21:45:52  152866693
>>152866575
> (function #2A((1 2) (3 4) (5 6)) (0 0 0) 0) => #2A((0 1 2) (0 3 4) (0 5 6)
Т.е. было
1 2
3 4
5 6
Стало
0 1 2
0 3 4
0 5 6
Не знаю, как ещё описать.
Аноним 11/05/17 Чтв 21:46:20  152866738
>>152866575
Хотя знаю: >>152865928
Аноним 11/05/17 Чтв 21:50:26  152867088
.jpg (38Кб, 498x429)
Аноним 11/05/17 Чтв 21:52:24  152867266
.jpg (41Кб, 640x493)
Аноним 11/05/17 Чтв 21:54:22  152867477
.jpg (78Кб, 836x758)
Аноним 11/05/17 Чтв 21:56:24  152867652
.jpg (38Кб, 593x439)
Аноним 11/05/17 Чтв 22:00:04  152867969
.jpg (50Кб, 600x800)
Аноним 11/05/17 Чтв 22:01:24  152868094
.jpg (31Кб, 600x572)
Аноним 11/05/17 Чтв 22:03:17  152868271
.jpg (139Кб, 1280x853)
Аноним 11/05/17 Чтв 22:04:15  152868352
ОП, тебе обязательно лисп нужен?
Аноним 11/05/17 Чтв 22:04:39  152868388
>>152868352
Да, в этом проблема.
Аноним 11/05/17 Чтв 22:07:03  152868613
>>152868388
Может, нахуй? Все равно после универна на JS в лучшем случае будешь писать. М?
Аноним 11/05/17 Чтв 22:10:19  152868889
>>152868613
Нет, опции "да ну на хуй" у меня нет. Лабу надо сделать.
Аноним 11/05/17 Чтв 22:12:37  152869103
.jpg (107Кб, 604x590)
Аноним 11/05/17 Чтв 22:15:25  152869383
.jpg (41Кб, 500x375)
Аноним 11/05/17 Чтв 22:16:11  152869460
dvach.png (25Кб, 645x292)
>>152868889
Бля, ну как хочешь. Я тебе уже и решение малость в функциональном стиле накатал на JS.
Аноним 11/05/17 Чтв 22:20:08  152869842
>>152869460
Мне бы найти способ конвернуть JS в лисп, и будет всё пучком. Увы, ничего толком пока не нагуглил. OpVseRavnoDick надо переправить в OpIsStillADick, ИМХО.
Аноним 11/05/17 Чтв 22:23:24  152870153
14717185867040.jpg (53Кб, 526x701)
>>152869842
Сорян, с утра бы на свежую голову еще перевел в этот твой лисп, но вот вечером после рабочего дня могу разве что еще на C# и F# налабать, не более.
Аноним 11/05/17 Чтв 22:25:44  152870379
Я такое только баксов за 15 делаю.
Аноним 11/05/17 Чтв 22:26:59  152870493
>>152870379
Поэтому тут сидишь без клиентов?
Аноним 11/05/17 Чтв 22:28:16  152870614
>>152870493
У школьников походу каникулы начались. Летом перехожу на бичпакеты.
Аноним # OP  11/05/17 Чтв 22:29:13  152870703
>>152870153
Когда у тебя утро наступит? Могу фейкомыло оставить.
Аноним 11/05/17 Чтв 22:29:24  152870719
>>152870614
Чем занимаешься? Фрилансишь?
Аноним 11/05/17 Чтв 22:30:02  152870781
>>152870703
Часов через 8. Оставляй.
Аноним 11/05/17 Чтв 22:30:21  152870816
>>152870719
Да, делаю лабы таким как ты, только с деньгами.
Аноним 11/05/17 Чтв 22:31:28  152870911
>>152870816
Я не ОП, лол. А в остальное время?
Аноним 11/05/17 Чтв 22:32:36  152870996
>>152870911
В остальное время пытаюсь превозмогать сдв и учить что-нибудь новое, чтобы делать лабы не за 15 баксов, а за 40. Машобчик, например. Пока вот не особо получается.
Аноним # OP  11/05/17 Чтв 22:33:02  152871041
>>152870781
Отлично, есть стимул встать пораньше. storonkinv@mail.ru
Аноним 11/05/17 Чтв 22:34:56  152871217
>>152870996
Ты молодец. Чем еще владеешь, кроме лиспа?
Аноним 11/05/17 Чтв 22:36:40  152871357
>>152871217
Да я лиспом и не владею, лол. Вряд ли за него платят. Но такую херню разобрать легко, тем более схему я когда-то ковырял.
А так на пистоне пишу. С и R учу. Хотя жава и плюсы популярнее.
Аноним 11/05/17 Чтв 22:38:35  152871509
>>152871357
А сколько тебе, если не секрет?
Аноним 11/05/17 Чтв 22:40:16  152871669
>>152871509
22. Так-то в таком возрасте можно было бы уже и мидлом быть, а я лох простой на самом деле.
Аноним 11/05/17 Чтв 22:42:31  152871884
>>152871669
Ебанись, в норм компаниях это еще джун.
Аноним 11/05/17 Чтв 22:46:19  152872221
>>152871884
Да? Я не разбираюсь. Но такое ощущение что можно было бы уже дохуя всего выучить, если бы мог учиться нормально. Ну, и если бы не проебал 4 года на вуз, в надежде что знания сами придут.
Аноним 11/05/17 Чтв 22:46:23  152872234
>>152871884
Вы чё ёбнутые, по возрасту квалификацию определяете?
Аноним 11/05/17 Чтв 22:48:13  152872426
>>152872234
Почему бы и нет.
Аноним 11/05/17 Чтв 22:49:42  152872586
>>152872221
> можно было бы уже дохуя всего выучить
Ну это всегда так. Кстати, я бы не думал, что 4 года в универе прошли зря. Если ты реально учился, конечно.
>>152872234
22 года - обычно выпускник вуза. Какой там норм дев с подобным опытом? Только джун.
Аноним 11/05/17 Чтв 22:52:13  152872843
>>152872586
> 4 года в универе прошли зря.
Но ведь говновуз. Сам мог бы выучить намного больше, даже с учетом того что не было бы мотивационного пендаля хотя его и так не было начиная с третьего курса, когда я узнал что у нас не отчисляют
Аноним 11/05/17 Чтв 23:01:17  152873814
>>152872221
> 4 года на вуз
В магистратуру не пошёл? Почему?
Аноним 11/05/17 Чтв 23:01:25  152873825
>>152872426
Потому что это не имеет никакого смысла. Это не задводачнин с их разрядами.
>>152872586
>22 года - обычно выпускник вуза. Какой там норм дев с подобным опытом? Только джун.
Программирование идёт уже с класса 5го, за это время может в два года из джунов выйти.
Аноним 11/05/17 Чтв 23:01:48  152873850
>>152873814
Какой в этом смысл?
Аноним 11/05/17 Чтв 23:02:15  152873887
>>152873814
лол, а нахуя идти? ещё пару лет проебать?
Аноним 11/05/17 Чтв 23:06:09  152874242
>>152873850
>>152873887
Вот я как раз чешу репу... Мои внутренние математик, физик и программист почти всё забыли и порядком заебались. Думаю: а не сказать ли "Ебись оно всё конём" и пойти служить, благо учусь на военке и к концу 4-го курса заимею звание лейтенанта запаса?
Аноним 11/05/17 Чтв 23:09:18  152874541
>>152874242
магистратура освобождает полностью от воинского призыва?
Аноним 11/05/17 Чтв 23:12:33  152874839
>>152874541
На время учёбы даётся отсрочка. Магистратура, ЕМНИП, её продлевает. Звание лейтенанта запаса даёт тебе военник и, внезапно, звание. Можно будет пойти служить по контракту.
Аноним 11/05/17 Чтв 23:13:22  152874908
>>152873814
>>152874242
Я сердечник с белым билетом, вот и не пошел, лол. Все однокуры на магистра только из-за призыва и идут.

Аноним 11/05/17 Чтв 23:16:47  152875253
.jpg (47Кб, 419x581)
>>152874908
А мне в военкомате дали Б4 - имею достаточно болячек, но ни одна до В не дотягивает. Вот и пошёл на военку - от нашего факультета желающих было меньше, чем свободных мест, потому прошли все.
Аноним 11/05/17 Чтв 23:36:01  152876925
Держи, оп, сделал за полтора часа с гуглом
http://rextester.com/FXZM44262

(defun insert (seq num index)
(cond ((not (null num))
(setq work-index (- (length seq) (length num)))
(setq new-sublist (push (car num) (cdr (nthcdr (- index 1) (nth work-index seq)))))
(format t "to insert: ~S ; index: ~D;~%" num work-index)
(insert seq (cdr num) index)))
seq)
(print (insert `((1 2 3) (4 5 6) (7 8 9)) `(99 99 99) 2))

мимо питонист с 5 летним стажем
Аноним # OP  11/05/17 Чтв 23:38:36  152877116
.jpg (47Кб, 600x400)
>>152876925
От души, анончик! Добра тебе!
Аноним 11/05/17 Чтв 23:39:28  152877178
>>152863132 (OP)
А что функция должна делать-то?
Аноним 11/05/17 Чтв 23:39:28  152877182
>>152877116
Какой результат функция должна возвращать? Большой массив или модифицированный прежний?
Аноним # OP  11/05/17 Чтв 23:40:07  152877236
>>152877182
> Большой массив
This.


Функция должна возвращать новую матрицу размера m×(n+1), полученную вставкой после столбца с номером j нового столбца с элементами из v. j=0 означает вставку перед самым первым столбцом.

Исходный массив A должен оставаться неизменным.
Аноним 12/05/17 Птн 01:04:32  152882841
Аноним 12/05/17 Птн 01:14:07  152883355
>>152877236
Честно говоря, лучше бы ты девственность терял чем эту хуйню задротскую ебал
Аноним # OP  12/05/17 Птн 01:27:18  152884042
>>152883355
Ноуп, я хочу быть листвой.
Аноним 12/05/17 Птн 01:30:09  152884163
>>152863132 (OP)
ухты, говорящая рыба CL в b.
Аноним 12/05/17 Птн 01:33:20  152884280
>>152884163
А то!

Будет весело, если тред до утра дотянет.
Аноним 12/05/17 Птн 01:40:24  152884594
>>152884042
так а в чем проблема, делаешь вставку по i-му индексу
g 0 a v = v :: a
g j h::tail v = h :: (g j-1 tail v)
потом пробегаешься по всем строкам
f A vs j = map (g j) $ zip (A vs)

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 91 | 26 | 12
Назад Вверх Каталог Обновить

Топ тредов
Избранное