Правильное использование оператора Break в цикле - C#

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

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

В общем есть у меня вот такой цикл, связанный с двумерным массивом.
Листинг программы
  1. for (int i = 0; i < Y; i++)
  2. {
  3. for (int j = 0; j < X; j++)
  4. {
  5. if (a[i, j] > 0) b[i] += a[i, j];
  6. else b[i] = 0; break;
  7. }
  8. }
Он считает сумму элементов в строках массива "а", где нет отрицательных чисел, и записывает сумму в ячейки массива "b". Если есть отрицательное число, то ячейке массива "b" присваивается значение 0 и нужно выйти из внутреннего цикла и перейти на следующую ступень во внешнем цикле. Я пробовал сделать это с помощью оператора break; но он во внешний цикл не выходит. Как мне осуществить мою задумку ? Вот полный код программы:
Листинг программы
  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 void Main(string[] args)
  10. {
  11. Console.WriteLine("Введите высоту матрицы:");
  12. string y = Console.ReadLine();
  13. int Y = Convert.ToInt32(y);
  14. Console.WriteLine("Введите длину матрицы:");
  15. string x = Console.ReadLine();
  16. int X = Convert.ToInt32(x);
  17. int kl=0;
  18. int min = 0;
  19. int sum = 0;
  20. int max = 0;
  21. int sum2 = 0;
  22. int[,] a = new int[Y, X];
  23. int[] b = new int[Y];
  24. Random r = new Random();
  25. Console.WriteLine("Массив первоначальный: ");
  26. for (int i = 0; i < Y; i++)
  27. {
  28. for (int j = 0; j < X; j++)
  29. {
  30. a[i, j] = r.Next(-100, 100);
  31. if (a[i, j] < 0)
  32. {
  33. Console.Write(a[i, j] + " ");
  34. }
  35. else
  36. {
  37. Console.Write(" " + a[i, j] + " ");
  38. }
  39. }
  40. Console.WriteLine();
  41. }
  42. for (int i = 0; i < Y; i++)
  43. {
  44. for (int j = 0; j < X; j++)
  45. {
  46. if (a[i, j] > 0) b[i] += a[i, j];
  47. else b[i] = 0; break;
  48. }
  49. }
  50. Console.WriteLine();
  51. for (int i = 0; i < Y; i++)
  52. {
  53. if (b[i] != 0) Console.WriteLine("Сумма чисел в строке " + (i+1) + " = " + b[i]);
  54. }
  55. Console.ReadKey();
  56. }
  57. }
  58. }

Решение задачи: «Правильное использование оператора Break в цикле»

textual
Листинг программы
  1.         if (a[i, j] > 0)
  2.         {
  3.             b[i] += a[i, j];
  4.         }
  5.         else
  6.         {
  7.             b[i] = 0;
  8.             break;
  9.         }

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


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

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

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

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

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

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