Вычислить и вывести кол-во элементов побочной диагонали матрицы matrix, значение которых кратно 3
объясните как это делается на c#: Вычислить и вывести кол-во элементов побочной диагонали матрицы matrix, значение которых кратно 3. И желательно с главной диагональю. Матрица генерируется, размерность вводит пользователь.
static void Main(string[] args)
{
Console.Write("Введите размер матрицы: ");
bool ok = int.TryParse(Console.ReadLine(), out int size);
if (size < 0 && size > 7)
throw new Exception("Введены невалидные данные!");
int[,] matrix = new int[size, size];
Random generator = new Random();
Console.WriteLine("Матрица: ");
int counter = 0;
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
matrix[i, j] = generator.Next(-10, 10);
Console.Write($"{matrix[i, j]}\t");
if (matrix[i, j] % 3 == 0)
counter++;
}
Console.Write($"Количесто кратныx элементов: {counter}\n");
}
}
Изменил код выше на:
Console.WriteLine("Матрица: ");
int counter = 0;
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
matrix[i, j] = generator.Next(-10, 10);
Console.Write($"{matrix[i, j]}\t");
if (matrix[i, size - i - 1] % 3 == 0)
counter++;
}
Console.Write($"Количесто кратныx элементов: {counter}\n");
}
Ответы (1 шт):
Автор решения: MBo
→ Ссылка
if (j == size - i - 1)
if (matrix[i, j] % 3 == 0)
counter++;
Но более выгодно так:
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size; j++)
{
matrix[i, j] = generator.Next(-10, 10);
Console.Write($"{matrix[i, j]}\t");
}
if (matrix[i, size - i - 1] % 3 == 0)
counter++;
}
Console.Write($"Количесто кратныx элементов: {counter}\n");