Напиши программу на c# Дан массив целых чисел из n элементов, заполненный случайным образом числами из
промежутка [-135,175]. Удалить из него все элементы, первая и последняя цифра которых четная.
2. Вставить число К1 после всех элементов, больших заданного числа, а число К2 – после всех
элементов, кратных пяти.
3. Перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k]
csharp
using System;
class Program
{
static void Main()
{
int n = 10; // Количество элементов в массиве
int[] arr = new int[n];
Random rnd = new Random();
// Заполнение массива случайными числами
for (int i = 0; i < n; i++)
{
arr[i] = rnd.Next(-135, 176);
}
// Вывод исходного массива
Console.WriteLine("Исходный массив:");
PrintArray(arr);
// Удаление элементов с четными первой и последней цифрой
arr = RemoveElementsWithEvenFirstAndLastDigit(arr);
// Вывод массива после удаления элементов
Console.WriteLine("nМассив после удаления элементов:");
PrintArray(arr);
// Вставка числа К1 после элементов, больших заданного числа
int k1 = 100; // Заданное число К1
arr = InsertNumberAfterElementsGreaterThan(arr, k1);
// Вывод массива после вставки числа К1
Console.WriteLine("nМассив после вставки числа К1:");
PrintArray(arr);
// Вставка числа К2 после элементов, кратных пяти
int k2 = 200; // Заданное число К2
arr = InsertNumberAfterElementsDivisibleByFive(arr, k2);
// Вывод массива после вставки числа К2
Console.WriteLine("nМассив после вставки числа К2:");
PrintArray(arr);
// Перенос первых k элементов в конец
int k = 2; // Количество элементов, которые нужно перенести в конец
arr = MoveFirstKElementsToEnd(arr, k);
// Вывод массива после переноса элементов
Console.WriteLine("nМассив после переноса элементов:");
PrintArray(arr);
}
// Вывод массива на консоль
static void PrintArray(int[] arr)
{
foreach (int num in arr)
{
Console.Write(num + " ");
}
}
// Проверка, является ли число четным
static bool IsEven(int num)
{
return num % 2 == 0;
}
// Удаление элементов с четными первой и последней цифрой
static int[] RemoveElementsWithEvenFirstAndLastDigit(int[] arr)
{
int newArrayLength = 0;
// Подсчет количества элементов, удовлетворяющих условию
for (int i = 0; i < arr.Length; i++)
{
int firstDigit = Math.Abs(arr[i] / 10);
int lastDigit = Math.Abs(arr[i] % 10);
if (!IsEven(firstDigit) && !IsEven(lastDigit))
{
newArrayLength++;
}
}
// Создание нового массива без элементов, удовлетворяющих условию
int[] newArr = new int[newArrayLength];
int j = 0;
for (int i = 0; i < arr.Length; i++)
{
int firstDigit = Math.Abs(arr[i] / 10);
int lastDigit = Math.Abs(arr[i] % 10);
if (!IsEven(firstDigit) && !IsEven(lastDigit))
{
newArr[j] = arr[i];
j++;
}
}
return newArr;
}
// Вставка числа К1 после элементов, больших заданного числа
static int[] InsertNumberAfterElementsGreaterThan(int[] arr, int k1)
{
int newArrayLength = arr.Length;
// Подсчет количества элементов, больших заданного числа
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] > k1)
{
newArrayLength++;
}
}
// Создание нового массива с добавлением числа К1 после элементов, больших заданного числа
int[] newArr = new int[newArrayLength];
int j = 0;
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] > k1)
{
newArr[j] = arr[i];
j++;
newArr[j] = k1;
j++;
}
else
{
newArr[j] = arr[i];
j++;
}
}
return newArr;
}
// Вставка числа К2 после элементов, кратных пяти
static int[] InsertNumberAfterElementsDivisibleByFive(int[] arr, int k2)
{
int newArrayLength = arr.Length;
// Подсчет количества элементов, кратных пяти
for (int i = 0; i < arr.Length; i++)
{
if (arr[i] % 5 == 0)
{
newArrayLength++;
}
}
// Создание нового массива с добавлением числа К2 после элементов, кратных пяти
int[] newArr = new int[newArrayLength];
int j = 0;
for (int i = 0; i < arr.Length; i++)
{
newArr[j] = arr[i];
j++;
if (arr[i] % 5 == 0)
{
newArr[j] = k2;
j++;
}
}
return newArr;
}
// Перенос первых k элементов в конец
static int[] MoveFirstKElementsToEnd(int[] arr, int k)
{
// Проверка, что k не превышает размер массива
if (k >= arr.Length)
{
return arr;
}
// Создание нового массива с перенесенными элементами
int[] newArr = new int[arr.Length];
for (int i = k; i < arr.Length; i++)
{
newArr[i] = arr[i - k];
}
for (int i = 0; i < k; i++)
{
newArr[i] = arr[arr.Length - k + i];
}
return newArr;
}
}
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет