Разработать методы работы с двумерным массивом - C#
Формулировка задачи:
Разработать методы работы с двумерным массивам. Ввести с клавиатуры двухмерный массив и организовать: поиск наибольшего и наименьшего значений; количества положительных элементов; сумма элементов на главной диагонали; поворот матрицы на 90° по часовой стрелке.
Что бы выводило примерно так:
(Массив)
Поиск наибольшего и наименьшего значений:
Наибольшее: (Значение)
Наименьшие: (Значение)
Количества положительных элементов= (Значение)
Сумма элементов на главной диагонали= (Значение)
Поворот матрицы на 90° по часовой стрелке:
(Вывести преобразованный массив)
Помогите пожалуйста написать программу. Желательно не сильно за мудрёную в стили вот этой:
Образец:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string str1; Console.WriteLine("Введите текст"); str1 = Convert.ToString(Console.ReadLine()); char[] m = str1.ToCharArray(); char a = '.'; int min = str1.Length; for (int i = 0; i < str1.Length; i++) { if ((m[i] == a) & (i < min)) min = i; } int max = 0; for (int j = 0; j < str1.Length; j++) { if ((m[j] == a) & (j > max)) max = j; } int b = max - min; string str2 = str1.Substring(min + 1, b); Console.WriteLine(str2); Console.ReadKey(); } } }
Решение задачи: «Разработать методы работы с двумерным массивом»
textual
Листинг программы
Console.WriteLine("Введите размерность массива n"); int n = int.Parse(Console.ReadLine()); Console.WriteLine("Введите размерность массива m"); int m = int.Parse(Console.ReadLine()); Random random = new Random(); int[,] arr = new int[n,m]; int i, j; Console.WriteLine("Исходный массив"); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { arr[i, j] = random.Next(-20, 20); Console.Write("{0,-5}",arr[i,j]); } Console.WriteLine(); } int max = arr[0, 0], min = arr[0, 0], poloj=0, sDiagonal=0; Console.WriteLine("Поиск наибольшего и наименьшего значений:"); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { if (max < arr[i, j]) max = arr[i, j]; if (min > arr[i, j]) min = arr[i, j]; if (arr[i, j] > 0) poloj++; if (i == j) sDiagonal += arr[i, j]; } } Console.WriteLine("Наибольшее: {0} " + "\nНаименьшие: {1} " + "\nКоличества положительных элементов=: {2}" + "\nСумма элементов на главной диагонали=: {3}", max, min, poloj,sDiagonal); Console.WriteLine("Поворачиваем матрицу на 90° по часовой стрелке:"); for ( j = 0; j < m; j++) { for ( i = n - 1; i >= 0; i--) { Console.Write("{0,-5}", arr[i, j]); } Console.WriteLine(); } Console.ReadLine();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д