Функция не видит переменную - C#

Узнай цену своей работы

Формулировка задачи:

Нужно вычислить сумму элементов массива, которые расположены после первого положительного элемента. Сами элементы вводятся с клавиатуры и записываются при помощи переменной n. Так вот, в самой функции эта переменная не отображается("Элемент не существует, тра-та-та, тра-та-та"). Это из-за того, что n записывается в методе Main? Тогда не понимаю, почему раз сам массив может читаться функцией flag, а эта переменная не может? Или я не правильно задаю параметры функции flag? Буду признателен за объяснение.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace ConsoleApplication1
  6. {
  7. class Program
  8. {
  9. static bool flag(int[] a)
  10. {
  11. bool flag = false;
  12. int sum = 0;
  13. for (int i = 0; i < n; i++)
  14. {
  15. if (flag)
  16. sum += a[i];
  17. else
  18. if (a[i] > 0) flag = true;
  19. }
  20. return flag;
  21. }
  22. static void Main(string[] args)
  23. {
  24. int n;
  25. Console.Write("Введите количество элементов массива");
  26. n = int.Parse(Console.ReadLine());
  27. int[] a = new int[n];
  28. for (int i = 0; i < n; i++)
  29. {
  30. a[i] = int.Parse(Console.ReadLine()); //Вводим элементы массива с клавиатуры
  31. }
  32. Console.WriteLine("\nМассив: {0}", String.Join(" ", a));
  33. bool sumP = flag(a);
  34. Console.WriteLine("\nСумма элементов массива, расположенных после первого положительного элемента = {0}", sumP);
  35. }
  36. }
  37. }

Решение задачи: «Функция не видит переменную»

textual
Листинг программы
  1. static bool flag(int[] a)
  2.         {
  3.             bool flag = false;
  4.             int sum = 0;
  5.             for (int i = 0; i < a.Length; i++)
  6.             {
  7.                 if (flag)
  8.                     sum += a[i];
  9.                 else
  10.                     if (a[i] > 0) flag = true;
  11.             }
  12.             return flag;
  13.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы