Рекомендую для задачи взять принцип работы почтовой службы, там сортировка имеет критически важное значение.
Например: В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу). Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.). Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.
Задача 1:
using System;
using System.Linq;
namespace ConsoleApp1
{
internal class Program
{
private static void Main(string[] args)
{
Console.Write("Enter n: ");
int n = int.Parse(Console.ReadLine());
var x = new int[n];
var rand = new Random();
for (int i = 0; i < n; i++)
{
x[i] = rand.Next(-100, 100);
Console.WriteLine($"x[{i}] = {x[i]}");
}
int max = x.Max();
int index = Array.IndexOf(x, max);
for (int i = 0; i < index; i++)
{
if (x[i] < 0)
x[i] = 0;
}
Console.WriteLine("\nResult:");
for (int i = 0; i < n; i++)
Console.WriteLine($"x[{i}] = {x[i]}");
}
}
}
Задача 2:
using System;
using System.Linq;
namespace ConsoleApp2
{
internal class Program
{
private static void Main(string[] args)
{
Console.Write("Enter n: ");
int n = int.Parse(Console.ReadLine());
var a = new int[n];
var rand = new Random();
for (int i = 0; i < n; i++)
{
a[i] = rand.Next(-100, 100);
Console.WriteLine($"x[{i}] = {a[i]}");
}
int[] positiveItems = a.Where(t => t > 0).ToArray();
if (positiveItems.Length == 0)
{
Console.WriteLine("No positive numbers");
return;
}
int sum = positiveItems.Sum();
int product = positiveItems.Aggregate((x, y) => x * y);
double arithmeticMean = sum / (double)positiveItems.Length;
double geometricMean = Math.Pow(product, 1 / (double)positiveItems.Length);
Console.WriteLine($"\nArithmetic mean: {arithmeticMean}");
Console.WriteLine($"Geometric mean: {geometricMean}");
}
}
}
Например:
В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу).
Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.).
Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.