Предмет: Информатика, автор: alya2148

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


vanisherxxx: Python?
alya2148: C#...есть возможность помочь?
vanisherxxx: C# не изучал :c
На python легко такое реализовать..
vanisherxxx: Могу рассказать в общем алгоритм, сам сможешь переписать на C#?
alya2148: да, постараюсь
vanisherxxx: Создаём переменную N, вводим в неё кол-во элементов в массиве
Создаём массив с размерность N
Через цикл до N заполняем массив через консоль

Создаём переменные a и b, вводим начало и конец
Создаём ещё один массив list (с большой размерность, если там обязательно её указывать)
Создаём переменную flag, закидываем в неё False
Проходимся циклом по длине первого массива, ставим условие: если a = list[i] (То есть если a равняется элементу из массива), то flag = true
vanisherxxx: После этого ставим условие если flag = true, идёт проверка элемента на b if b == list[i], то мы прерываем цикл break
Тут же после этого мы во второй массив добавляем элементы list[i]

Таким образом у нас появился массив list в котором числа только от a до b

После создаём переменную count = 0
Пробежимся по длине list (второй массив)
Если list[i] > 0, то тогда мы прибавляем к count элемент массива

Выводим count
alya2148: ох ох, благодарю, постараюсь реализовать
vanisherxxx: Я смогу реализовать
vanisherxxx: Чутка почитал документацию, и понял, что не всё так плохо

Ответы

Автор ответа: vanisherxxx
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 == 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);

 }

}

Приложения:

alya2148: ох благодарю!
vanisherxxx: Обращайтесь с:
Похожие вопросы
Предмет: Русский язык, автор: Nascafe
Предмет: Английский язык, автор: артур667