Задание: нужно создать двумерный массив А(m x n) [-20,20], а из него создать массив B, который содержит отрицательные элементы массива А Получается это: using System; namespace abcdbsv { class Program { static void Main(string[] args) { Console.Write("Введите количество строк: "); int n = Convert.ToInt32(Console.ReadLine()); Console.Write("Введите количество столбцов: "); int m = Convert.ToInt32(Console.ReadLine()); int[,] A = new int[n,m]; Random r = new Random(); int abcd = 0; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) { A[i, j] = r.Next(-20, 20); if (A[i, j] < 0) abcd++; } Console.WriteLine(abcd); int k = 0; foreach (int x in A) { Console.Write($"{x,6}\t"); k++; if (k % m == 0) Console.WriteLine(); } int[] B = new int[abcd]; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) if (A[i, j] < 0) B[i] = A[i, j]; for (int i = 0; i < B.Length; i++) Console.WriteLine($"B[{i}]= {B[i]} "); Console.ReadLine(); } } } CSHARP using System; namespace abcdbsv { class Program { static void Main(string[] args) { Console.Write("Введите количество строк: "); int n = Convert.ToInt32(Console.ReadLine()); Console.Write("Введите количество столбцов: "); int m = Convert.ToInt32(Console.ReadLine()); int[,] A = new int[n,m]; Random r = new Random(); int abcd = 0; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) { A[i, j] = r.Next(-20, 20); if (A[i, j] < 0) abcd++; } Console.WriteLine(abcd); int k = 0; foreach (int x in A) { Console.Write($"{x,6}\t"); k++; if (k % m == 0) Console.WriteLine(); } int[] B = new int[abcd]; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) if (A[i, j] < 0) B[i] = A[i, j]; for (int i = 0; i < B.Length; i++) Console.WriteLine($"B[{i}]= {B[i]} "); Console.ReadLine(); } } }
...... int[] B = new int[abcd]; k = 0; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) if (A[i, j] < 0) B[k++] = A[i, j]; for (int i = 0; i < B.Length; i++) Console.WriteLine($"B[{i}]= {B[i]} "); Console.ReadLine(); ...... CSHARP ...... int[] B = new int[abcd]; k = 0; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) if (A[i, j] < 0) B[k++] = A[i, j]; for (int i = 0; i < B.Length; i++) Console.WriteLine($"B[{i}]= {B[i]} "); Console.ReadLine(); ......
нексюша, не знаю что у тебя там по красоте, а по заданию тебя просят создать массив который содержит отрицательные элементы а не отрицательные элементы и нули.
vtlstolyarov, потому что он считает отрицательные элементы при добавлении в массив, хранит их в abcd, и создает B размера abcd?? С хера ли они разные будут
ПожилаяШляпа, да, сорри, действительно, как-то я проебал этот момент что он считает abcd сразу при заполнении - я бегло глянул на код ТС и он там инкрементил k в отдельном цикле и я подумал что это и есть та часть которая подсчитывает количество отрицательных элементов, но сейчас я внимательно перечитал что там написано и оказалось что ТС просто хуйню написал.
using System; namespace abcdbsv { class Program { static void Main(string[] args) { Console.Write("Введите количество строк: "); int n = Convert.ToInt32(Console.ReadLine()); Console.Write("Введите количество столбцов: "); int m = Convert.ToInt32(Console.ReadLine()); int[,] A = new int[n, m]; Random r = new Random(); int abcd = 0; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) { A[i, j] = r.Next(-20, 20); if (A[i, j] < 0) abcd++; } Console.WriteLine(abcd); int k = 0; foreach (int x in A) { Console.Write($"{x,6}\t"); k++; if (k % m == 0) Console.WriteLine(); } int[] B = new int[abcd]; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) if (A[i, j] < 0) { B[k] = A[i, j]; k++; } for (int i = 0; i < B.Length; i++) Console.WriteLine($"B[{i}]= {B[i]} "); Console.ReadLine(); } } } CSHARP using System; namespace abcdbsv { class Program { static void Main(string[] args) { Console.Write("Введите количество строк: "); int n = Convert.ToInt32(Console.ReadLine()); Console.Write("Введите количество столбцов: "); int m = Convert.ToInt32(Console.ReadLine()); int[,] A = new int[n, m]; Random r = new Random(); int abcd = 0; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) { A[i, j] = r.Next(-20, 20); if (A[i, j] < 0) abcd++; } Console.WriteLine(abcd); int k = 0; foreach (int x in A) { Console.Write($"{x,6}\t"); k++; if (k % m == 0) Console.WriteLine(); } int[] B = new int[abcd]; for (int i = 0; i < A.GetLength(0); i++) for (int j = 0; j < A.GetLength(1); j++) if (A[i, j] < 0) { B[k] = A[i, j]; k++; } for (int i = 0; i < B.Length; i++) Console.WriteLine($"B[{i}]= {B[i]} "); Console.ReadLine(); } } }