Запрограммировать на языке Коммон Лисп функцию, принимающую три аргумента: 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, а за ним - тот, который стоял изначально. Правильно ли думаю? Если да, то как это реализовать?
Функция должна возвращать новую матрицу размера m×(n+1), полученную вставкой после столбца с номером j нового столбца с элементами из v. j=0 означает вставку перед самым первым столбцом.
>>152863132 (OP) Идешь циклом по первому измерению первого массива На каждый i-й ряд вызываешь другую функцию, куда передаешь сам ряд, i-й элемент второго и третий параметр Эта другая функция возвращает новый массив, где уже вставлен новый элемент
Идём лупом по всем массивам из А, сравниваем номер текущего элемента с j: если совпали, то пишем сначала исходный элемент, а за ним - из v. >>152863931 Паскаль у нас в школе был, так что травма у меня уже есть.
>>152864279 Как бы Лисп у нас входит в программу. Предмет называется "функциональное программирование". Зачем на втором курсе давать Scheme, а на третьем - Common Lisp, я не знаю. Думают, что нам это пригодится. Или работают по принципу "Что бы солдат ни делал, лишь бы заебался".
>>152864511 >Как бы Лисп у нас входит в программу. Вот дурачок, я про говнопаскаль и дегенерата-препода. А лисп - норм вещь, для учебы вообще ок - если не зацикливаться. >функциональное программирование Охуенчик, но все же лисп - не совсем то. Он сам по себе.
>>152864687 > Вот дурачок, я про говнопаскаль и дегенерата-препода. Туплю. Впрочем, ничего нового. > Охуенчик, но все же лисп - не совсем то. Охуенчик охуенчиком, но у меня висит лаба. Спасайте, котаны.
>>152864972 А хуй знает, не писал на лиспе никогда :3 Но чую что тут правильно про map - так что читай описание и думай. Такие задачки обычно в пару действий.
>>152863132 (OP) Делаешь пандорический захват, лифтишь в монаду, потом строишь рекурсивную схему (здесь подойдёт зигохистоморфный препроморфизм) как монадический трансформер из категории эндофункторов, и метациклически вычисляешь результат. Любой второкурсник справится. А если делать на анафорических лямбдах - так задачка вообще на пять минут.
>>152869460 Мне бы найти способ конвернуть JS в лисп, и будет всё пучком. Увы, ничего толком пока не нагуглил. OpVseRavnoDick надо переправить в OpIsStillADick, ИМХО.
>>152869842 Сорян, с утра бы на свежую голову еще перевел в этот твой лисп, но вот вечером после рабочего дня могу разве что еще на C# и F# налабать, не более.
>>152870911 В остальное время пытаюсь превозмогать сдв и учить что-нибудь новое, чтобы делать лабы не за 15 баксов, а за 40. Машобчик, например. Пока вот не особо получается.
>>152871217 Да я лиспом и не владею, лол. Вряд ли за него платят. Но такую херню разобрать легко, тем более схему я когда-то ковырял. А так на пистоне пишу. С и R учу. Хотя жава и плюсы популярнее.
>>152871884 Да? Я не разбираюсь. Но такое ощущение что можно было бы уже дохуя всего выучить, если бы мог учиться нормально. Ну, и если бы не проебал 4 года на вуз, в надежде что знания сами придут.
>>152872221 > можно было бы уже дохуя всего выучить Ну это всегда так. Кстати, я бы не думал, что 4 года в универе прошли зря. Если ты реально учился, конечно. >>152872234 22 года - обычно выпускник вуза. Какой там норм дев с подобным опытом? Только джун.
>>152872586 > 4 года в универе прошли зря. Но ведь говновуз. Сам мог бы выучить намного больше, даже с учетом того что не было бы мотивационного пендаля хотя его и так не было начиная с третьего курса, когда я узнал что у нас не отчисляют
>>152872426 Потому что это не имеет никакого смысла. Это не задводачнин с их разрядами. >>152872586 >22 года - обычно выпускник вуза. Какой там норм дев с подобным опытом? Только джун. Программирование идёт уже с класса 5го, за это время может в два года из джунов выйти.
>>152873850 >>152873887 Вот я как раз чешу репу... Мои внутренние математик, физик и программист почти всё забыли и порядком заебались. Думаю: а не сказать ли "Ебись оно всё конём" и пойти служить, благо учусь на военке и к концу 4-го курса заимею звание лейтенанта запаса?
>>152874541 На время учёбы даётся отсрочка. Магистратура, ЕМНИП, её продлевает. Звание лейтенанта запаса даёт тебе военник и, внезапно, звание. Можно будет пойти служить по контракту.
>>152874908 А мне в военкомате дали Б4 - имею достаточно болячек, но ни одна до В не дотягивает. Вот и пошёл на военку - от нашего факультета желающих было меньше, чем свободных мест, потому прошли все.
Функция должна возвращать новую матрицу размера m×(n+1), полученную вставкой после столбца с номером j нового столбца с элементами из v. j=0 означает вставку перед самым первым столбцом.
>>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)
Суп, двач. Есть одна лаба.
Запрограммировать на языке Коммон Лисп функцию, принимающую три аргумента:
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, а за ним - тот, который стоял изначально. Правильно ли думаю? Если да, то как это реализовать?
Бампаю котиками.