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