Возникли сложности при написании программы - C#
Формулировка задачи:
Задача: Дана двумерная квадратная матрица. Получить массив b1 …bn , где bi - это сумма элементов, расположенных за первым отрицательным элементом в i-той строке (если все элементы строки неотрицательны, то принять bi=100).
Программа находит отрицательные элементы массива и выводит их сумму. А как получить массив b1 …bn? Я так думаю, что в него нужно записать отрицательные элементы или я не прав?
class Program { static void Matrix(string a, int[,] mas) { Console.WriteLine(a); for (int i = 0; i < mas.GetLength(0); i++) { for (int j = 0; j < mas.GetLength(1); j++) Console.Write("{0} ", mas[i, j]); Console.WriteLine(); } } static void Mas_B(string a, int[,] mas) { int bi = 0; for (int i = 0; i < mas.GetLength(0); i++) { for (int j = 0; j < mas.GetLength(1); j++) { if (mas[i, j] < 0) bi += mas[i, j]; Console.WriteLine("bi" + bi); int[,] Bi = new int[i, j]; Console.WriteLine(Bi[i,j]); } } } static void Main(string[] args) { int[,] MyArray ={ {0, -1, 2}, {4, -5, 6}, {7, -8, 9}}; Matrix("Матрица квадратная: ", MyArray); Mas_B(" ", MyArray); } } }
Решение задачи: «Возникли сложности при написании программы»
textual
Листинг программы
using System; namespace MatrixTask { class Program { static int[,] CreateMatrix(int dimension) { Random rand = new Random(); int[,] temp = new int[dimension,dimension]; for (int i = 0; i < dimension; i++) { for (int j = 0; j < dimension; j++) { temp[i, j] = rand.Next(-100, 100); } } return temp; } static void PrintMatrix(int[,] matrix) { for (int i = 0; i < matrix.GetLength(0); i++) { for (int j = 0; j < matrix.GetLength(1); j++) { Console.Write(matrix[i,j] + " "); } Console.WriteLine(); } } static int[] GetResultArray(int[,] matrix) { int[] temp = new int[matrix.GetLength(0)]; for (int i = 0; i < matrix.GetLength(0); i++) { int sum = 0; bool negElement = false; for (int j = 0; j < matrix.GetLength(1); j++) { if (negElement) { sum += matrix[i, j]; } if (matrix[i,j] < 0) { negElement = true; } } if (!negElement) { temp[i] = 100; } else { temp[i] = sum; } } return temp; } static void Main(string[] args) { int dim; do { Console.Write("Input matrix dimension: "); int.TryParse(Console.ReadLine(), out dim); Console.Clear(); } while (dim < 2); int[,] matrix = CreateMatrix(dim); PrintMatrix(matrix); Console.WriteLine(); int[] resultArray = GetResultArray(matrix); for (int i = 0; i < resultArray.Length; i++) { Console.Write(resultArray[i] + " "); } Console.ReadKey(true); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д