Вопрос от пользователя: Ларуня
Помогите с задачей C#! Ввести одномерный массив, вывести его. Выяснить, какое число в массиве встретится ранее — положительное или отрицательное (нули не рассматривать). Если положительное — найти в массиве максимальный элемент и возвести его в квадрат, если отрицательное — возвести в квадрат минимальный элемент.
Ответ: Потапий
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++) ! 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 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 a) { Console. Write («Array:»); foreach (var element in a) { Console. Write ($» {element}»); } Console. WriteLine (); } public static bool IsPositiveFirst (IEnumerable a) { foreach (var element in a) { if (element = = 0) continue; return element > 0;
}
throw new Exception («Array is empty»);
}
}