Привет! Сегодня я расскажу тебе о программе на C#, которую я написал для решения следующей задачи⁚
У нас есть массив целых чисел из n элементов, который заполнен случайным образом числами из промежутка [-135٫ 175]. Задача заключается в удалении из массива всех элементов٫ первая и последняя цифра которых четная٫ вставке числа К1 после всех элементов٫ больших заданного числа٫ и вставке числа К2 после всех элементов٫ кратных пяти. Затем необходимо перенести первые k элементов массива в конец٫ в следующем порядке⁚ a[k 1]٫ a[k 2]٫ .. ٫a[n]٫ a[2]٫ ..٫ a[k].Для решения этой задачи я использовал язык программирования C#.
Для начала, я объявил массив целых чисел и заполнил его случайными числами из заданного промежутка⁚
csharp
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); } Затем я использую цикл для удаления элементов массива, первая и последняя цифра которых четные⁚ csharp for (int i 0; i < n; i ) { int firstDigit Math.Abs(array[i] / 10 % 10); // первая цифра числа int lastDigit Math.Abs(array[i] % 10); // последняя цифра числа if (firstDigit % 2 0 nn lastDigit % 2 0) { array[i] 0; // заполняю элемент нулем, чтобы удалить его позже } } array array.Where(x > x ! 0).ToArray; // удаляю все элементы со значением 0 из массива
Затем я получаю заданное число и числа К1 и К2 от пользователя и добавляю их в массив⁚
csharp
Console.WriteLine(″Введите число, после которого нужно вставить число К1⁚″);
int numberK1 int.Parse(Console.ReadLine);
Console.WriteLine(″Введите число К1⁚″);
int K1 int.Parse(Console.ReadLine);
Console.WriteLine(″Введите число К2⁚″);
int K2 int.Parse(Console.ReadLine);
for (int i 0; i < array.Length; i )
{
if (array[i] > numberK1)
{
// Вставляем число К1 после элемента, большего заданного числа
Array.Resize(ref array, array.Length 1);
Array.Copy(array, i 1, array, i 2, array;Length ⎼ i ⸺ 2);
array[i 1] K1;
i ; // увеличиваем i, чтобы пропустить только что вставленное число
}
if (array[i] % 5 0)
{
// Вставляем число К2 после элемента, кратного пяти
Array.Resize(ref array, array.Length 1);
Array.Copy(array, i 1٫ array٫ i 2٫ array.Length ⸺ i ⸺ 2);
array[i 1] K2;
i ; // увеличиваем i, чтобы пропустить только что вставленное число
}
}
И, наконец, переношу первые k элементов в конец массива⁚
csharp
Console.WriteLine(″Введите количество элементов, которые нужно перенести в конец⁚″);
int k int.Parse(Console.ReadLine);
int[] tempArray new int[k];
for (int i 0; i < k; i ) { tempArray[i] array[i]; } Array.Copy(array, k, array, 0, array.Length ⸺ k); Array.Copy(tempArray, 0, array, array.Length ⸺ k, k); Теперь, чтобы проверить результат, я выведу содержимое массива на консоль⁚ csharp for (int i 0; i < array.Length; i ) { Console.WriteLine(array[i]); } Вот и вся программа! Я надеюсь, моя статья помогла тебе разобраться в решении данной задачи на C#. Если у тебя возникли вопросы, не стесняйся задавать их!