Насколько можно оптимизировать этот программный код? - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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