Разработать методы работы с двумерным массивом - 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();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5
Похожие ответы