Правильное использование оператора Break в цикле - C#
Формулировка задачи:
В общем есть у меня вот такой цикл, связанный с двумерным массивом.
Он считает сумму элементов в строках массива "а", где нет отрицательных чисел, и записывает сумму в ячейки массива "b". Если есть отрицательное число, то ячейке массива "b" присваивается значение 0 и нужно выйти из внутреннего цикла и перейти на следующую ступень во внешнем цикле.
Я пробовал сделать это с помощью оператора break; но он во внешний цикл не выходит.
Как мне осуществить мою задумку ?
Вот полный код программы:
for (int i = 0; i < Y; i++) { for (int j = 0; j < X; j++) { if (a[i, j] > 0) b[i] += a[i, j]; else b[i] = 0; break; } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Введите высоту матрицы:"); string y = Console.ReadLine(); int Y = Convert.ToInt32(y); Console.WriteLine("Введите длину матрицы:"); string x = Console.ReadLine(); int X = Convert.ToInt32(x); int kl=0; int min = 0; int sum = 0; int max = 0; int sum2 = 0; int[,] a = new int[Y, X]; int[] b = new int[Y]; Random r = new Random(); Console.WriteLine("Массив первоначальный: "); for (int i = 0; i < Y; i++) { for (int j = 0; j < X; j++) { a[i, j] = r.Next(-100, 100); if (a[i, j] < 0) { Console.Write(a[i, j] + " "); } else { Console.Write(" " + a[i, j] + " "); } } Console.WriteLine(); } for (int i = 0; i < Y; i++) { for (int j = 0; j < X; j++) { if (a[i, j] > 0) b[i] += a[i, j]; else b[i] = 0; break; } } Console.WriteLine(); for (int i = 0; i < Y; i++) { if (b[i] != 0) Console.WriteLine("Сумма чисел в строке " + (i+1) + " = " + b[i]); } Console.ReadKey(); } } }
Решение задачи: «Правильное использование оператора Break в цикле»
textual
Листинг программы
if (a[i, j] > 0) { b[i] += a[i, j]; } else { b[i] = 0; break; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д