
Помогите, пожалуйста!( Дан массив целых чисел размером 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);
}
}





Для решения этой задачи вам потребуется написать программу на языке программирования. Вот пример решения на Python:
pythontry:
# Вводим размер массива
N = int(input("Введите размер массива: "))
# Инициализируем массив и заполняем его значениями, введенными с клавиатуры
arr = []
for i in range(N):
element = int(input(f"Введите элемент {i + 1}: "))
arr.append(element)
# Вводим порядковые номера a и b
a = int(input("Введите порядковый номер элемента a: "))
b = int(input("Введите порядковый номер элемента b: "))
# Проверяем, что порядковые номера a и b валидны
if a < 0 or b < 0 or a >= N or b >= N:
print("Ошибка: Недопустимые порядковые номера a и/или b")
else:
# Находим сумму положительных элементов между a и b
if a > b:
a, b = b, a # Обмен местами, чтобы a <= b
sum_positive = 0
for i in range(a + 1, b):
if arr[i] > 0:
sum_positive += arr[i]
print(f"Сумма положительных элементов между a и b: {sum_positive}")
except ValueError:
print("Ошибка: Введены некорректные данные. Пожалуйста, введите целые числа.")
except Exception as e:
print(f"Произошла ошибка: {e}")
Этот код сначала запрашивает размер массива, затем заполняет массив элементами, введенными с клавиатуры. Затем программа запрашивает порядковые номера a и b и проверяет их валидность. Если порядковые номера валидны, программа находит сумму положительных элементов между a и b и выводит результат. Если возникают ошибки, программа обрабатывает их и выводит соответствующее сообщение.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili