D4. Задачи на нахождение максимума и минимума в двумерных массивах

Напишите в комментариях к этой записи консольные приложения для решения этих задач, укажите также код задачи.
Внимание! При решении задач обязательно учтите Рекомендации по оформлению решений задач на двумерные массивы

Решены задачи 1. Не решены: 2-30.

Задачи

D4.1. Дан двумерный массив. Определить:
а) максимальное значение среди элементов третьего столбца массива;
б) минимальное значение среди элементов второй строки массива.
D4.2. Дан двумерный массив. Определить:
а) максимальное значение среди элементов пятой строки массива;
б) минимальное значение среди элементов четвертого столбца массива.
D4.3. Составить программу:
а) нахождения минимального значения среди элементов любой строки двумерного массива;
б) нахождения максимального значения среди элементов любого столбца
двумерного массива.
D4.4. Составить программу:
а) нахождения максимального значения среди элементов любой строки двумерного массива;
б) нахождения минимального значения среди элементов любого столбца двумерного массива.
D4.5. Дан двумерный массив. Определить:
а) номер столбца, в котором расположен минимальный элемент четвертой строки массива. Если элементов с минимальным значением в этой строке несколько, то должен быть найден номер столбца самого левого из них;
б) номер строки, в котором расположен максимальный элемент третьего столбца массива. Если элементов с максимальным значением в этом столбце несколько, то должен быть найден номер строки самого нижнего из них.
D4.6. Дан двумерный массив. Определить:
а) номер строки, в которой расположен максимальный элемент второго столбца массива. Если элементов с максимальным значением в этом столбце несколько, то должен быть найден номер строки самого верхнего из них;
б) номер столбца, в котором расположен минимальный элемент третьей строки массива. Если элементов с минимальным значением в этой строке несколько, то должен быть найден номер столбца самого правого из них.
D4.7. Составить программу:
а) нахождения номера строки, в которой расположен максимальный элемент любого столбца двумерного массива. Если элементов с максимальным значением в этом столбце несколько, то должен быть найден номер строки самого нижнего из них;
б) нахождения номера столбца, в котором расположен минимальный элемент любой строки двумерного массива. Если элементов с минимальным значением в этой строке несколько, то должен быть найден номер столбца самого левого из них.
D4.8. Составить программу:
а) нахождения номера столбца, в котором расположен максимальный элемент любой строки двумерного массива. Если элементов с максимальным значением в этой строке несколько, то должен быть найден номер столбца самого правого из них;
б) нахождения номера строки, в которой расположен минимальный элемент любого столбца двумерного массива. Если элементов с минимальным значением в этом столбце несколько, то должен быть найден номер строки самого нижнего из них.
D4.9. Дан двумерный массив. Определить:
а) максимальный элемент массива;
б) минимальный элемент массива;
в) координаты минимального элемента массива. Если элементов с минимальным значением несколько, то должны быть найдены координаты самого нижнего и самого правого из них;
г) координаты максимального элемента массива. Если элементов с максимальным значением несколько, то должны быть найдены координаты самого верхнего и самого левого из них.
Все задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.10. Дан двумерный массив. В каждой его строке найти:
а) максимальный элемент;
б) минимальный элемент;
в) координаты максимального элемента. Если элементов с максимальным значением в строке несколько, то должны быть найдены координаты самого левого из них;
г) координаты минимального элемента. Если элементов с минимальным значением в строке несколько, то должны быть найдены координаты самого правого из них.
Все задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.11. Дан двумерный массив. В каждом его столбце найти:
а) максимальный элемент;
б) минимальный элемент;
в) координаты максимального элемента. Если элементов с максимальным значением в столбце несколько, то должны быть найдены координаты самого нижнего из них;
г) координаты минимального элемента. Если элементов с минимальным значением в столбце несколько, то должны быть найдены координаты самого верхнего из них.
Все задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.12. Дан двумерный массив. Найти:
а) минимальную сумму элементов строки;
б) максимальную сумму элементов столбца.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.13. Дан двумерный массив. Найти:
а) максимальную сумму элементов строки;
б) минимальную сумму элементов столбца.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.14. В двумерном массиве хранится информация о количестве учеников в каждом из четырех классов каждой параллели школы с первой по одиннадцатую (в первой строке — информация о первых классах, во второй — вторых и т. д.). Найти:
а) численность самой большой (по количеству учащихся) параллели;
б) численность самой маленькой (по количеству учащихся) параллели.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.15. В двумерном массиве хранится информация о баллах, полученных спортсменами-пятиборцами в каждом из пяти видов спорта (в первой строке — информация о баллах первого спортсмена, во второй — второго и т. д.). Общее число спортсменов равно 20. Определить:
а) сколько баллов набрал спортсмен-победитель соревнований;
б) сколько баллов набрал спортсмен, занявший последнее место.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.16. Дан двумерный массив. Найти:
а) строку с максимальной суммой элементов. Если таких строк несколько, должен быть найден номер самой нижней из них;
б) столбец с минимальной суммой элементов. Если таких столбцов несколько, должен быть найден номер самого левого из них.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.17. Дан двумерный массив. Найти:
а) строку с минимальной суммой элементов. Если таких строк несколько, должен быть найден номер самой верхней из них;
б) столбец с максимальной суммой элементов. Если таких столбцов несколько, должен быть найден номер самого правого из них.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.18. Информация о количестве жильцов в каждой из четырех квартир каждого этажа 12-этажного дома хранится в двумерном массиве (в первой строке — информация о квартирах первого этажа, во второй — второго и т. д.). Определить:
а) на каком этаже проживает меньше всего людей;
б) на каком этаже проживает больше всего людей.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.19. В зрительном зале 25 рядов, в каждом из которых по 36 мест (кресел). Информация о проданных билетах хранится в двумерном массиве, номера строк которого соответствуют номерам рядов, а номера столбцов — номерам мест. Если билет на то или иное место продан, то соответствующий элемент массива имеет значение 1, в противном случае — 0. Определить:
а) на какой ряд продано больше всего билетов;
б) на какой ряд продано меньше всего билетов.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.20. В двумерном массиве размером 17 17 записано количество очков, набранных той или иной командой во встречах с другими командами (3 — если данная команда выиграла игру, 0 — если проиграла, 1 — если игра закончилась вничью). Определить:
а) сколько очков набрала команда, ставшая чемпионом;
б) номер команды, занявшей последнее место.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.21. Для условий предыдущей задачи определить:
а) сколько очков набрала команда, занявшая последнее место;
б) номер команды, ставшей чемпионом.
Обе задачи решить двумя способами:
1) с использованием дополнительного одномерного массива;
2) без использования дополнительного одномерного массива.
D4.22. Дан двумерный массив из двух строк и двадцати столбцов. Найти максимальную сумму элементов в двух соседних столбцах.
D4.23. Дан двумерный массив из двух строк и пятнадцати столбцов. Найти минимальную сумму элементов в двух соседних столбцах.
D4.24. Дан двумерный массив из двадцати двух строк и двух столбцов. Найти максимальную сумму элементов в двух соседних строках.
D4.25. Дан двумерный массив из пятнадцати строк и двух столбцов. Найти минимальную сумму элементов в двух соседних строках.
D4.26. Дан двумерный массив из двух строк и двадцати столбцов. Найти номера двух соседних столбцов, сумма элементов в которых максимальна.
D4.27. Дан двумерный массив из двух строк и пятнадцати столбцов. Найти номера двух соседних столбцов, сумма элементов в которых минимальна.
D4.28. Дан двумерный массив из двадцати двух строк и двух столбцов. Найти номера двух соседних строк, сумма элементов в которых максимальна.
D4.29. Дан двумерный массив из пятнадцати строк и двух столбцов. Найти номера двух соседних строк, сумма элементов в которых минимальна.
D4.30. В Москве самыми теплыми являются дни с 15 июля по 15 августа. Для проведения музыкального фестиваля необходимо выбрать 7 следующих подряд
дней этого периода, которые были наиболее теплыми за последние 10 лет (данные каждого года о температуре воздуха в указанный период имеются).


NEW: Наш Чат, в котором вы можете обсудить любые вопросы, идеи, поделиться опытом или связаться с администраторами.


Помощь проекту:

Понравилась статья? Поделиться с друзьями:
1 1 голос
Рейтинг статьи
Подписаться
Уведомить о
14 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

D4.24. Дан двумерный массив из двадцати двух строк и двух столбцов. Найти максимальную сумму элементов в двух соседних строках.

static void Main(string[] args)
        {
            Random rand = new Random();
            int[,] array = new int[22, 2];
            for(int i = 0; i < 22; i++)
            {
                for(int j = 0; j < 2; j++)
                {
                    array[i, j] = rand.Next(10);
                    Console.Write($"{array[i, j]} ");
                }
                Console.WriteLine();
            }
            int[] array2 = new int[22];
            int max = int.MinValue;
            for(int i = 0; i < 22; i++)
            {
                int jmax = int.MinValue;
                for(int j = 0; j < 2; j++)
                {
                    if(array[i, j] > jmax)
                    {
                        jmax = array[i, j];
                    } 
                }
                array2[i] = jmax;
            }
            for(int i = 0; i < 21; i++)
            {
                if (array2[i] + array2[i+1] > max)
                {
                    max  = array2[i] + array2[i+1];
                }
            }
            Console.WriteLine("max=" + max);
            Console.ReadLine();        
        }
using System;
namespace Task4_5
{
    class Program
    {
        int[,] array; int line; int coloumn;
        public Program(int[,] array, int line, int coloumn)
        {
            this.array = array; this.line = line; this.coloumn = coloumn;
        }
        public void GetArray2D()
        {
            var max = 0; var min = 0;
            var num = 0; var num1 = 0;
            for (int i = 0; i < line; i++)
            { 
                for (int j = 0; j < coloumn; j++)
                {
                    Console.Write($"{array[i, j] = new Random().Next(0,5)} \t");
                    if (array[i, 2] >= max)
                    { 
                        max = array[i, 2];
                        num1 = i;
                    }
                }
                Console.WriteLine("\n");
            }
            min = array[3, coloumn-1];


            for (int j = coloumn - 1; j >= 0; j--)
            {
                if (array[3, j] <= min)
                { 
                    min = array[3, j]; 
                    num = j;
                }
            }
            Console.WriteLine(max + " - максимальный элемент третьего столбца");
            Console.WriteLine(num1 + 1 + " - номер строки самого нижнего из них");
            Console.WriteLine(min + " - минимальное значение среди элементов четвертой строки");
            Console.WriteLine(num + 1 + " - номер столбц асамого левого из них");
        }
    }
    class Array2D
    {
        static void Main()
        {
            int line = 6;
            int coloumn = 6;
            int[,] array = new int[line, coloumn];
            Program Object = new(array, line, coloumn);
            Object.GetArray2D();
        }
    }
}
using System;
namespace Task4_2
{
    class Program
    {
        int[,] array; int line; int coloumn;
        public Program(int[,] array, int line, int coloumn)
        {
            this.array = array; this.line = line; this.coloumn = coloumn;
        }
        public void GetArray2D()
        {
            var max = 0; var min = 0;
           
            for (int i = 0; i < line; i++)
            {
                
                for (int j = 0; j < coloumn; j++)
                {
                    Console.Write($"{array[i, j] = new Random().Next(0,20)} \t");
                    if (array[4, j] > max)
                    { max = array[i, j]; }
                }
                Console.WriteLine("\n");
            }
            min = array[0, 3];
            for (int i = 0; i < coloumn; i++)
            {
                if (array[i, 3] < min)
                { min = array[i, 3]; }
            }
            Console.WriteLine("\n");
            Console.WriteLine(max + " - максимальное значение среди элементов пятой строки");
            Console.WriteLine(min + " - минимальное значение среди элементов четвертого столбца");
        }
    }
    class Array2D
    {
        static void Main()
        {
            int line = 6;
            int coloumn = 6;
            int[,] array = new int[line, coloumn];
            Program Object = new(array, line, coloumn);
            Object.GetArray2D();
        }
    }
}

d4.5 a) как решить ?

Важно: Вы можете поддержать проект и автора.

Вячеслав, хочу сказать Вам спасибо за то, что сделали и поддерживаете жизнь этого прекрасного сайта :)

Важно: Вы можете поддержать проект и автора.

Если что-то не поймешь, напиши, я поясню)

// Задание А

            Console.ForegroundColor = ConsoleColor.DarkYellow; // просто, потому что нравится желтый цвет :)

            int[,] firstArray = new int[5, 5]; // массив квадратный, чтобы удобнее было

            Random rand = new Random();

            for (int i = 0; i < firstArray.GetLength(0); i++) // с помощью вложенных массивов заполняем случайными элементами массив
            {                                                 
                for (int f = 0; f < firstArray.GetLength(0); f++)
                {
                    firstArray[i, f] = rand.Next(0, 10);
                }
            }

            for (int i = 0; i < firstArray.GetLength(0); i++)
       //просто выводим все элементы массива для самопроверки, удобно
            {
                for (int f = 0; f < firstArray.GetLength(0); f++)
                {
                    Console.Write(firstArray[i, f] + "\t");
                }
                Console.WriteLine();
            }

            int minimumElement = 10, minPosition = 0, lineNumber = 3;

            Console.WriteLine();

            for (int i = 0; i  firstArray[lineNumber, i])
                {
                    minimumElement = firstArray[lineNumber, i];

                    minPosition = i + 1;
                }
            }

            Console.WriteLine($"Минимальный элемент {lineNumber + 1}-й строки находится на {minPosition} месте");

            // Задание Б 

            Console.ForegroundColor = ConsoleColor.DarkYellow; // просто, потому что нравится желтый цвет :)

            int[,] firstArray = new int[5, 5]; // массив квадратный, чтобы удобнее было

            Random rand = new Random();

            for (int i = 0; i < firstArray.GetLength(0); i++) // с помощью вложенных массивов заполняем случайными элементами массив
            {               
                for (int f = 0; f < firstArray.GetLength(0); f++)
                {
                    firstArray[i, f] = rand.Next(0, 10);
                }
            }

            for (int i = 0; i < firstArray.GetLength(0); i++) // эти вложенные массивы я сделал, чтобы можно было убедиться в корректности работы программы
            {
                for (int f = 0; f < firstArray.GetLength(0); f++)
                {
                    Console.Write(firstArray[i, f] + "\t");
                }
                Console.WriteLine();
            }

            int maxElement = 0, maxPosition = 0, columnNumber = 2; // это третий столбец

            Console.WriteLine();

            for (int i = 0; i < firstArray.GetLength(0); i++)
            {


                if (maxElement <= firstArray[i,columnNumber]) // ВАЖНО! Тут должен быть именно <= , а не <, чтобы найти максимальный нижний элемент
                {
                    maxElement = firstArray[i, columnNumber];

                    maxPosition = i + 1;
                }
            }

            Console.WriteLine($"Максимальный элемент {columnNumber + 1}-его столбца находится на {maxPosition} месте");
Важно: Вы можете поддержать проект и автора.
// Задание 4.5 (А)

            Console.ForegroundColor = ConsoleColor.DarkYellow;

            int[,] Array = new int[0, 0];

            Random rand = new Random();

            for (int i = 0; i < Array.GetLength(0); i++) // с помощью вложенных массивов 
            {                                                 // заполняем случайными элементами массив
                                                              // и сразу выводим их в консоль для самопроверки
                for (int j = 0; j < Array.GetLength(1); j++)
                {
                    Array[i, j] = rand.Next(0, 10);
                    Console.Write(Array[i, j] + "\t");
                }
                Console.WriteLine();
            }

            int minimumElement = 10 (это максимально возможный элемент в массиве) , minPosition = 0, lineNumber = 3;

            Console.WriteLine();

            for (int i = 0; i  Array[lineNumber, i])
                {
                    minimumElement = Array[lineNumber, i];

                    minPosition = i;
                }
            }

            Console.WriteLine($"Минимальный элемент {lineNumber + 1}-й строки находится на {minPosition + 1} месте");

            // Задание 4.5 (Б) 

            Console.ForegroundColor = ConsoleColor.DarkYellow; 

            int[,] Array = new int[0, 0]; 

            Random rand = new Random();

            for (int i = 0; i < Array.GetLength(0); i++) 
            {                                                 
                for (int j = 0; j < Array.GetLength(1); j++)
                {
                    Array[i, j] = rand.Next(0, 10);
                    Console.Write(Array[i, j] + "\t");
                }
                Console.WriteLine();
            }



            int maxElement = 0, maxPosition = 0, columnNumber = 2; // это третий столбец

            Console.WriteLine();

            for (int i = 0; i < Array.GetLength(0); i++)
            {
                if (maxElement <= Array[i, columnNumber]) // ВАЖНО! Тут должен быть именно <= , а не <, чтобы найти максимальный нижний элемент
                {
                    maxElement = Array[i, columnNumber];

                    maxPosition = i;
                }
            }

            Console.WriteLine($"Максимальный элемент {columnNumber + 1}-его столбца находится на {maxPosition + 1} месте");
Сделано с учетом ваших замечаний. Однако у меня возникло несколько вопросов.  
Если совместить части кода, где я заполняю массив случайными элементами и вывожу его на консоль в виде таблички, это не будет непонятной мешаниной кода?
"— в целом не нужно приводить к форме с 1" - если я правильно понял это замечание, то я прибавлял единицы к значениям для логичности  "{columnNumber + 1}" например здесь. 
И еще подскажите, пожалуйста, нулевые массивы это просто массив с нулевым количеством элементов? Как этот "int[,] Array = new int[0, 0]; " ?
Важно: Вы можете поддержать проект и автора.

В первом задании пропал оператор if, итератор и условие в цикле for. В момент публикации все было верно, подправить, пожалуйста

D4.1 Дан двумерный массив. Определить:
б) минимальное значение среди элементов второй строки массива.

int[,] arr = { { 2, 3, 8 }, { 5, 2, 3 }, { 5, 4, 6 }, { 2, 1, 9 } };
int nr = 1;
int min = arr[nr, 0];
for (int k = 1; k < 3; k++)
   if (arr[nr, k] < min)
      min = arr[nr, k];
Console.WriteLine(min);
Важно: Вы можете поддержать проект и автора.
14
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x