Вопрос задан 27.09.2023 в 19:33. Предмет Информатика. Спрашивает Хамицевич Настя.

Помогите, пожалуйста!( Дан массив целых чисел размером N (N и элементы массива вводятся с

клавиатуры). Найдите сумму положительных элементов, расположенных между элементами с порядковыми номерами a и b (a, b вводятся с клавиатуры). Предусмотрите обработку исключительных ситуаций.​
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Баева Светлана.

Данная программа находит именно сумму между элементами в массиве:

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);

 }

}



0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи вам потребуется написать программу на языке программирования. Вот пример решения на Python:

python
try: # Вводим размер массива 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 и выводит результат. Если возникают ошибки, программа обрабатывает их и выводит соответствующее сообщение.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос