#c# #matrix
#c# #матрица
Вопрос:
Здравствуйте. У меня есть задача суммировать числа, как показано. Перепробовал все, что мог, но все равно не нашел правильного ответа. Могу ли я получить некоторые рекомендации?
static void Main(string[] args)
{
string input = Console.ReadLine();
int n = (int)char.GetNumericValue(input[0]);
int m = (int)char.GetNumericValue(input[2]);
int[,] matrix = new int[n, m];
int sum = 0;
//fill matrix
for (int i = 0; i < n; i )
{
for (int j = 0; j < m; j )
{
matrix[i, j] = (j * 3 1) i * 3;
}
}
for (int i = 0; i < matrix.GetLength(0) - 1; i =1)
{
for (int j = 0; j < matrix.GetLength(1) - i; j =1)
{
if (i % 2 == 0)
{
sum = matrix[i, j i] matrix[i 1, j 1];
}
}
}
Console.WriteLine(sum);
}
Ответ №1:
Я думаю, вам было бы проще жестко кодировать входные данные (и называть их «столбцами» и «строками» вместо этого, гораздо более удобочитаемыми).
Каков ожидаемый результат? Не уверен, что я следую этой сумме. Я предполагаю, 297? Если это так:
for (int i = 0; i < matrix.GetLength(0); i )
{
for (int j = 0; j < matrix.GetLength(1); j )
{
Console.Write(matrix[i, j] " ");
if(j == 5) Console.WriteLine();
if (matrix[i, j] % 2 != 0)
{
if (i == 0 || i == matrix.GetLength(0) - 1
|| j == 0 || j == matrix.GetLength(0))
{
sum = (matrix[i, j]);
}
else
{
sum = (matrix[i, j] * 2);
}
}
}
}