Насколько можно оптимизировать этот программный код? - C#
Формулировка задачи:
Листинг программы
- static void Main(string[] args)
- {
- int[] massiv1 = new int[10];
- Random rand = new Random();
- int j;
- int s = 0;
- for (int i = 0; i < 10; i++)
- {
- j = rand.Next(-10, 10);
- massiv1[i] = j;
- if(massiv1[i] > 0)
- s = s + 1;
- Console.WriteLine("" + massiv1[i]);
- Console.Write("\n");
- }
- Console.WriteLine("s=" + s);
- int[] massiv2 = new int[s];
- int k = 0;
- for (int i = 0; i < 10; i++)
- {
- if (massiv1[i] > 0)
- {
- massiv2[k] = massiv1[i];
- k++;
- }
- }
- for (k = 0; k < s; k++)
- {
- Console.WriteLine("l=" + massiv2[k]);
- }
- Console.ReadKey();
- }
Решение задачи: «Насколько можно оптимизировать этот программный код?»
textual
Листинг программы
- using System;
- using System.Linq;
- namespace ConsoleApplication11
- {
- class Program
- {
- static void print(int[] arr)
- {
- string str = "[";
- for (int i = 0; i < arr.Length; i++)
- {
- if(i != arr.Length -1)
- str += arr[i]+",";
- else str += arr[i];
- }
- str += "]";
- Console.Write("{0} ", str);
- Console.WriteLine();
- }
- static void Main(string[] args)
- {
- int[] massiv1 = new int[10];
- Random rand = new Random();
- int j = 0;
- int s = 0;
- foreach (int a in massiv1)
- {
- massiv1[j++] = rand.Next(-10, 10);
- }
- s = massiv1.Where(x=> x > 0).Count();
- int[] massiv2 = new int[s];
- var k = massiv1.Where(x => x > 0);
- j = 0;
- foreach(int a in k)
- massiv2[j++] = (int)a;
- Console.WriteLine("Массив 1: ");
- print(massiv1);
- Console.WriteLine("s = {0}",s);
- Console.WriteLine("Массив 2:");
- print(massiv2);
- Console.ReadKey();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д