( Дан массив целых чисел размером N (N и элементы массива вводятся с клавиатуры). Найдите сумму положительных элементов, расположенных между элементами с порядковыми номерами a и b (a, b вводятся с клавиатуры). Предусмотрите обработку исключительных ситуаций.
Данная программа находит именно сумму между элементами в массиве:
using System;
class main{
static void Main() {
Console.Write("Введите кол-во элементов в массиве: ");
int N = Convert.ToInt32(Console.ReadLine());
int[] myArr = new int[N];
for (int i = 0; i < N; i++)
{
Console.Write("Введите элемент: ");
myArr[i] = Convert.ToInt32(Console.ReadLine());
}
Console.Write("Введите начало отрезка: ");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите конец отрезка: ");
int b = Convert.ToInt32(Console.ReadLine());
int[] list = new int[N];
bool flag = false;
for (int i = 0; i < myArr.Length; i++)
{
if (a == myArr[i]) {
flag = true;
}
if (flag == true) {
list[i] = (myArr[i]);
if (b == myArr[i]) break;
}
}
int count = Convert.ToInt32(0);
for (int i = 0; i < list.Length; i++) {
if (list[i] > 0) count += list[i];
}
Console.Write("Сумма: ");
Console.Write(count);
}
}
Эта программа находит сумму между индексами элементов в массиве в массиве (если считать от 1):
using System;
class main {
static void Main() {
Console.Write("Введите кол-во элементов в массиве: ");
int N = Convert.ToInt32(Console.ReadLine());
int[] myArr = new int[N];
for (int i = 0; i < N; i++)
{
Console.Write("Введите элемент: ");
myArr[i] = Convert.ToInt32(Console.ReadLine());
}
Console.Write("Введите начало отрезка: ");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("Введите конец отрезка: ");
int b = Convert.ToInt32(Console.ReadLine());
int[] list = new int[N];
bool flag = false;
for (int i = 0; i < myArr.Length; i++)
{
if (a == i + 1) {
flag = true;
}
if (flag == true) {
list[i] = myArr[i];
if (b == i + 1) break;
}
}
int count = 0;
for (int i = 0; i < list.Length; i++) {
if (list[i] > 0) count += list[i];
}
Console.Write("Сумма: ");
Console.Write(count);
}
}