Привет! Я хотел бы поделиться с вами программой на C#‚ в которой решаем задачу по изменению исходного массива целых чисел согласно указанным условиям.Для начала создадим метод `ModifyArray`‚ который будет принимать массив целых чисел и выполнять указанные операции. Код программы будет выглядеть следующим образом⁚
csharp
using System;
class Program
{
static void ModifyArray(int[] arr)
{
// Удаление элементов‚ первая и последняя цифра которых четная
for (int i 0; i < arr.Length; i )
{
if (IsBothEndDigitsEven(arr[i]))
{
Array.Clear(arr‚ i‚ 1);
}
}
// Вставка числа К1 после всех элементов‚ больших заданного числа
int k1 100; // Заданное число
for (int i 0; i < arr.Length; i )
{
if (arr[i] > k1)
{
Array.Resize(ref arr‚ arr.Length 1);
Array.Copy(arr‚ i‚ arr‚ i 1‚ arr.Length — i ౼ 1);
arr[i 1] k1;
i ; // Увеличиваем счетчик‚ чтобы пропустить новую вставленную ячейку
}
}
// Вставка числа К2 после всех элементов‚ кратных пяти
int k2 50; // Заданное число
for (int i arr.Length — 1; i > 0; i—)
{
if (arr[i] % 5 0)
{
Array.Resize(ref arr‚ arr.Length 1);
Array.Copy(arr‚ i 1‚ arr‚ i 2‚ arr.Length — i ౼ 2);
arr[i 1] k2;
}
}
// Перенос первых k элементов в конец массива
int k 3; // Заданное число
int[] temp new int[k];
Array.Copy(arr‚ temp‚ k);
Array.Copy(arr‚ k‚ arr‚ 0‚ arr.Length, k);
Array.Copy(temp‚ 0‚ arr‚ arr.Length — k‚ k);
}
static bool IsBothEndDigitsEven(int number)
{
string strNumber Math.Abs(number).ToString;
int firstDigit int.Parse(strNumber[0].ToString);
int lastDigit int.Parse(strNumber[strNumber.Length ౼ 1].ToString);
return firstDigit % 2 0 nn lastDigit % 2 0;
}
static void Main(string[] args)
{
// Создаем исходный массив
int n 10; // Количество элементов в массиве
int[] array new int[n];
Random random new Random;
for (int i 0; i < n; i )
{
array[i] random.Next(-135‚ 176);
}
Console.WriteLine(″Исходный массив⁚″);
for (int i 0; i < array.Length; i )
{
Console.WriteLine(array[i]);
}
// Модифицируем массив
ModifyArray(array);
Console.WriteLine(″Модифицированный массив⁚″);
for (int i 0; i < array.Length; i )
{
Console.WriteLine(array[i]);
}