profile
Опубликовано 5 лет назад по предмету Информатика от mops43

Помогите с задачей C#! Ввести одномерный массив , вывести его. Выяснить, какое число в массиве встретится ранее – положительное или отрицательное (нули не рассматривать). Если положительное – найти в массиве максимальный элемент и возвести его в квадрат, если отрицательное – возвести в квадрат минимальный элемент.

  1. Ответ
    Ответ дан archery
    using System;
    using System.Collections.Generic;
    using System.Linq;

    internal class Program
    {
        private const bool handfree_ = true; //определяет вручную ли вводятся данные или рандомом

        public static void Main()
        {
            try
            {
                var a = InitArray().ToArray();
                PrintArray(a);

                var positive = IsPositiveFirst(a);
                var k = 0;
                for (var i = 0; i < a.Length; i++)
                {
                    if (positive && a[k] < a[i] || !positive && a[k] > a[i])
                        k = i;
                }

                a[k] = a[k] * a[k];
                PrintArray(a);
            }

            catch(Exception e)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(e);
            }
            finally
            {
                Console.ReadLine();
            }
        }

        public static IEnumerable<int> InitArray()
        {
            var random = new Random(DateTime.Now.Millisecond);
            int n;
            if (handfree_)
                n = random.Next(100);
            else
            {
                Console.Write("n = ");
                n = int.Parse(Console.ReadLine());
            }

            var result = new int[n];

            for (var i = 0; i < result.Length; i++)
            {
                result[i] = handfree_ ? random.Next(-100, 100) : int.Parse(Console.ReadLine());
            }

            return result;
        }

        public static void PrintArray(IEnumerable<int> a)
        {
            Console.Write("Array:");
            foreach (var element in a)
            {
                Console.Write($" {element}");
            }

            Console.WriteLine();
        }

        public static bool IsPositiveFirst(IEnumerable<int> a)
        {
            foreach (var element in a)
            {
                if (element == 0)
                    continue;

                return element > 0;
            }

            throw new Exception("Array is empty");
        }
    }


Самые новые вопросы