Просуммировать элементы матрицы и повернуть ее на 90 градусов - C# (199192)
Формулировка задачи:
вести 2 мерный масив с клавиатуры прасумировать по строке, столбцу, гл.диагонали,побочной,повернуть на 90 градусов по чесовой,против чесовой.
Решение задачи: «Просуммировать элементы матрицы и повернуть ее на 90 градусов»
textual
Листинг программы
class Program
{
static void Main(string[] args)
{
int n, m;
Console.WriteLine("Размер массива n*m");
Console.Write("n = ");
n = int.Parse(Console.ReadLine());
Console.Write("m = ");
m = int.Parse(Console.ReadLine());
int[,] mas = new int[n,m];
Console.WriteLine("введите элементы массива:");
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
mas[i, j] = int.Parse(Console.ReadLine());
Console.WriteLine();
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
Console.Write("{0,4}", mas[i,j]);
Console.WriteLine();
}
Console.WriteLine();
Console.WriteLine("суммы по столбцам");
for (int j = 0; j < m; j++)
{
int sum1 = 0;
for (int i = 0; i < n; i++)
sum1 += mas[i, j];
Console.Write("{0,4}", sum1);
}
Console.WriteLine(); Console.WriteLine();
Console.WriteLine("суммы по строкам");
int sum3 = 0;
for (int i = 0; i < n; i++)
{
int sum2 = 0;
for (int j = 0; j < m; j++)
sum2 += mas[i, j];
Console.WriteLine(sum2);
sum3 += sum2;
}
Console.WriteLine(); Console.WriteLine();
Console.WriteLine("сумма по гл. диагонали");
int sumDiag1 = 0;
for (int i = 0; i < Math.Min(n, m); i++)
sumDiag1 += mas[i, i];
Console.WriteLine(sumDiag1);
Console.WriteLine();
Console.WriteLine("сумма по побоч. диагонали");
int sumDiag2 = 0;
for (int i = 0; i <n && m-i-1>=0; i++)
sumDiag2 += mas[i, m-i-1];
Console.WriteLine(sumDiag2);
Console.WriteLine("перевернутая на 90 градусов по часовой");
int[,] masTrans1 = new int[m, n];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
masTrans1[j, n-i-1] = mas[i, j];
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
Console.Write("{0,4}", masTrans1[i, j]);
Console.WriteLine();
}
Console.WriteLine("перевернутая на 90 градусов против часовой");
int[,] masTrans2 = new int[m, n];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
masTrans2[m-j-1, i] = mas[i, j];
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
Console.Write("{0,4}", masTrans2[i, j]);
Console.WriteLine();
}
Console.ReadLine();
}
}