Построить вектор(одномерные массивы) - 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));
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д