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

AnnaIzotova53 AnnaIzotova53    2   15.01.2022 03:09    0

Ответы
anninor53 anninor53  15.01.2022 06:00

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

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

 }

}

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика