В целочисленный массив размером n×n вставить строку из нулей после всех строк, в которых нет ни одного нуля - C#
Формулировка задачи:
Вставить строку из нулей после всех строк, в которых нет ни одного нуля.
Решение задачи: «В целочисленный массив размером n×n вставить строку из нулей после всех строк, в которых нет ни одного нуля»
textual
Листинг программы
private void button13_Click(object sender, EventArgs e) { int[,] MainMatrix = new int[5, 5]; // создаем матрицу 5x5 Random gen= new Random(); // создаем переменную под радном string firstMatrix = ""; // строка для вывода начальной матрицы string newMatrix = ""; // строка для вывода новой матрицы int N=5;// здесь бeдем хранить число строк без нулей (изначально считаем что все без нулей) ///// заполняе матрицу рандомама for (int i = 0; i < 5; i++) for (int j = 0; j < 5; j++) MainMatrix[i, j] = gen.Next(0, 7); ///// заполнили матрицу рандомама //формируем строку для вывода это матрицы for (int i = 0; i < 5; i++) { firstMatrix += "\n"; for (int j = 0; j < 5; j++) firstMatrix += MainMatrix[i, j] + ";"; } //сформировали строку для вывода это матрицы // Считаем колличесво нелулевых строк и создаем новую матрицу нужных размеров for (int i = 0; i < 5; i++) for (int j = 0; j < 5; j++) if (MainMatrix[i, j] == 0) // емли встречаем 0 { N--; break; // переходи на следующию строку } int[,] NewMatrix = new int[5+N, 5]; // создаем матрицу со сторока 5+N int k = 0; // счетчик для новой матрицы bool flag = false; bool first = true; for (int i = 0; i < 5; i++) { if (!first) // если не первая строка то увеличиваем к k++; if (flag) k++; flag = true; // ставим true, first = false; // ставим false так как первая строка прошла for (int j = 0; j < 5; j++) // переписываем строчку из 1 массива во 2 { NewMatrix[k, j] = MainMatrix[i, j]; if (MainMatrix[i, j] == 0) // если встретим 0 то k++ не выполнится(при следующий итерации по i) { flag = false; } } } //формируем строку для вывода новой мотрицы for (int i = 0; i < 5+N; i++) { newMatrix += "\n"; for (int j = 0; j < 5; j++) newMatrix += NewMatrix[i, j] + ";"; } //сформировали строку для вывода новой матрицы MessageBox.Show(firstMatrix + "\n Колличество строк без нулйе =" + (N).ToString() + "\n" + newMatrix); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д