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