Конкатенация массивов разных размеров - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, товарищи. Суть такова: есть два массива, например: a {1 , 5 ,4} b {2 , 2 } Нужно получить массив сложением элементов с конца, т.е.: c { 1, 5+2, 4+2} = c {1, 7 ,6} Если массивы одинаковы, то я делаю с помощью Zip:
one.kofs.Zip(two.kofs, (x, y) => x + y).ToArray();
а вот с массивами разных размеров как сделать? p.s: не хочется циклом перебирать с конца и суммировать к большему массиву значения из меньшего. Должен быть проще вариант с минимум кода. Заранее спасибо

Решение задачи: «Конкатенация массивов разных размеров»

textual
Листинг программы
int[] a = { 1, 5, 4 };
int[] b = { 2, 2 };
int length = Math.Max(a.Length, b.Length);
var res = Enumerable.Range(0, length).Select(i => a.ElementAtOrDefault(i + a.Length - length) + b.ElementAtOrDefault(i + b.Length - length)).ToArray();
foreach (int i in res)
{
    Console.WriteLine(i);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы