Написать программу по обработке одномерных массивов.
Написать программу по обработке одномерных массивов. Размеры массивов вводить с клавиатуры. В консольном приложении предусмотреть возможность ввода данных как с клавиатуры, так и с использованием функции random(). При создании оконного приложения скалярный (простой) результат выводить в виде компоненты Label, а массивы вводить и выводить с помощью компонент StringGrid. В одномерном массиве, состоящем из n вводимых с клавиатуры целых элементов, вычислить: Произведение отрицательных элементов массива.
using System;
using System.Linq;
namespace ArrayProcessorConsole
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("--- Обработка Одномерных Массивов (Консоль) ---");
while (true)
{
int arraySize = GetArraySize();
int[] array;
Console.WriteLine("\nВыберите способ ввода данных:");
Console.WriteLine("1. Ввести с клавиатуры");
Console.WriteLine("2. Заполнить случайными числами");
Console.Write("Ваш выбор (1 или 2): ");
string choice = Console.ReadLine();
switch (choice)
{
case "1":
array = FillArrayFromKeyboard(arraySize);
break;
case "2":
array = FillArrayRandom(arraySize);
break;
default:
Console.WriteLine("Неверный выбор. Повторите попытку.");
Console.ReadKey();
Console.Clear();
continue;
}
Console.WriteLine("\n--- Введенный массив ---");
PrintArray(array);
long? productOfNegatives = CalculateProductOfNegatives(array);
Console.WriteLine("\n--- Результат ---");
if (productOfNegatives.HasValue)
{
Console.WriteLine($"Произведение отрицательных элементов: {productOfNegatives.Value}");
}
else
{
Console.WriteLine("В массиве нет отрицательных элементов.");
}
Console.WriteLine("\nНажмите любую клавишу, чтобы продолжить или Esc для выхода.");
if (Console.ReadKey(true).Key == ConsoleKey.Escape)
{
break;
}
Console.Clear();
}
Console.WriteLine("Программа завершена.");
}
static int GetArraySize()
{
int size;
while (true)
{
Console.Write("Введите размер массива (целое положительное число): ");
string input = Console.ReadLine();
if (int.TryParse(input, out size) && size > 0)
{
return size;
}
else
{
Console.WriteLine("Ошибка: Введите целое положительное число.");
}
}
}
static int[] FillArrayFromKeyboard(int size)
{
int[] arr = new int[size];
Console.WriteLine($"\nВведите {size} целых элементов для массива:");
for (int i = 0; i < size; i++)
{
while (true)
{
Console.Write($"Элемент [{i}]: ");
string input = Console.ReadLine();
if (int.TryParse(input, out arr[i]))
{
break;
}
else
{
Console.WriteLine("Ошибка: Введите целое число.");
}
}
}
return arr;
}
static int[] FillArrayRandom(int size)
{
int[] arr = new int[size];
Random rnd = new Random();
for (int i = 0; i < size; i++)
{
arr[i] = rnd.Next(-50, 51);
}
Console.WriteLine($"Массив заполнен случайными числами в диапазоне [-50, 50].");
return arr;
}
static void PrintArray(int[] arr)
{
if (arr == null || arr.Length == 0)
{
Console.WriteLine("Массив пуст.");
return;
}
Console.WriteLine("Массив: [" + string.Join(", ", arr) + "]");
}
static long? CalculateProductOfNegatives(int[] arr)
{
long product = 1;
bool foundNegatives = false;
foreach (int element in arr)
{
if (element < 0)
{
product *= element;
foundNegatives = true;
}
}
return foundNegatives ? (long?)product : null;
}
}
}
Теперт соеле время тупому говн задать влрос
Почему сам в полицтю гн пощд
код говно