Построить вектор(одномерные массивы) - C#

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

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

Дано: n N; x,y . Построить вектор z, содержащий сначала положительные координаты вектора x,а затем положительные координаты вектора y. Не очень понимаю,как объединить положительные координаты векторов в один вектор z.
никак не получается
 Console.Write("enter n=");
            int n = int.Parse(Console.ReadLine());
            double[] x = new double[n];
            Random r = new Random();
            for(int i=0;i<x.Length;i++)
            {
                x[i] = r.Next(-100, 100);
                Console.Write("||" + x[i]);
            }
            Console.WriteLine("");
            double[] y= new double[n];
            for (int i = 0; i < y.Length; i++)
            {
                y[i] = r.Next(-100,100);
                Console.Write("||" + y[i]);
            }
            Console.WriteLine("");
            int count = 0;
            int counter = 0;
            for (int i = 0; i < n; i++)
            {
                if (x[i] >= 0)
                    counter++;
                if (y[i] >= 0)
                    count++;
                
            }
            double[] z = new double[counter + count];
            for(int i=0;i<z.Length;i++)
            {
                if (x[i] >= 0)
                    z[i] = x[i];
                Console.Write("||" + z[i]);
                if (y[i] >= 0)
                    z[i] = y[i];
                Console.Write("||" + z[i]);
 
            }

Решение задачи: «Построить вектор(одномерные массивы)»

textual
Листинг программы
using System;
using System.Linq;
 
class Program
{
    public static void Main()
    {
        Random rnd = new Random();
        int n = Int32.Parse(Console.ReadLine());
        double[] x = Enumerable.Repeat(rnd, n).Select(r => r.NextDouble() * 200.0 - 100.0).ToArray();
        double[] y = Enumerable.Repeat(rnd, n).Select(r => r.NextDouble() * 200.0 - 100.0).ToArray();
        double[] z = x.Where(i => i >= 0.0).Concat(y.Where(i => i >= 0.0)).ToArray();
        foreach (double[] arr in new double[][] { x, y, z })
        {
            Console.WriteLine(String.Join(", ", arr));
        }
    }
}

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

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