


Помощь с массивами C#
Задача звучит так: Дан массив размера N и целые числа K и L (1 < K ≤ L ≤ N). Найти сумму
всех элементов массива, кроме элементов с номерами от K до L
включительно.
Я создала рандомный массив, и проверку для K и L.
Как извлечь из массива числа от K до L и посчитать сумму без них?
Толька начала осваивать C#
Console.WriteLine("\t Дан массив размера N и целые числа K и L (1 < K <= L <= N). Найти сумму всех элементов массива, кроме элементов с номерами от K до L включительно.");
Console.Write("\t Какое кол-во значений будет в массиве?\t");
int N_ = Convert.ToInt32(Console.ReadLine());
Console.WriteLine($"Массив из {N_} значений: ");
int[] array = new int[N_];
Random rand = new Random();
for (int y = 0; y < N_; y++)
{
array[y] = rand.Next (1, 21);
Console.WriteLine(array[y]);
}
Console.Write("Введите число K: \t");
int K_ = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите число L: \t");
int L_ = Convert.ToInt32(Console.ReadLine());
if (1 < K_ && K_ <= L_)
{
Console.WriteLine($"Вы ввели верное число К (1 < {K_} <= {L_})");
}
else
{
Console.WriteLine($"Число К не входит в данный диапазон (1 < K <= L)");
}
if (K_<= L_ && L_<= N_)
{
Console.WriteLine($"Вы ввели верное число L ({K_} <= {L_} <= {N_})");
}
else
{
Console.WriteLine($"Число L не входит в данный диапазон (K <= L <= N))");
}
Console.WriteLine($"Найдем числа в массиве от {K_} до {L_} ");
почитай про Span и Range, они как раз для всяких срезов массива. И переходи на NET6.
примерно так можно
/*
//как вариант ввода
int N;
do
{
Console.Write(" Введите размер массива (целое число): ");
} while (int.TryParse(Console.ReadLine(), out N) == false);
*/
// Console.WriteLine(string.Join(", ", array)); //вывести весь массив с каким-нибудь разделителем
int N = 5;
int[] arr = { 1, 2, 3, 4, 5 };
int K = 1, L = 2;
int s1 = arr.Sum() - arr[K..(L + 1)].Sum(); //1й способ
int s2 = arr[0..K].Sum() + arr[(L+1)..N].Sum(); // 2й способ
Console.WriteLine($"s1 = {s1}\ns2 = {s2}");
Примерно так:
YourSum = a.Take(k).Sum()+a.Skip(l).Sum();
Посмотри, может, где-то надо 1 добавить или отнять. Но принцип именно такой.