Здравствуйте. Пожалуйста, помогите решить задачи на двумерные массивы. Пожалуйста, сделайте максимально разборчиво и подробно (в информатике полный ноль, но стараюсь понять. Если несложно, подскажите лит-ру).

1. Составьте графический алгоритм определения частного от деления максимального элемента на ми-нимального элемента матрицы В (n,m) на отрезке от 10 до 50.

2. Составьте графический алгоритм определения разности между произведением всех отрица-тельных элементов и суммой всех положительных элементов матрицы Р (n,m) на отрезке от -100 до 100.

3. 8. Составьте графический алгоритм определения частного от деления минимального элемента матрицы L (n,m) на количество всех отрицательных элементов матрицы Т (n,m) отрезке от -100 до -10.


Exponena: Т.е. Отправная точка Массив-матрица m*n элементов. Нужно выбрать из него минимальный и макс. эл-ты. и найти их частное.
Аноним: Вы вместо ютуба лучше посмотрите личное сообщение
nonymoria: о, из этого знаю, что максимальным будет (н-р) в первой задаче 10, а мин. 50. Правильно? но я не понимаю почему
Exponena: Я не смеюсь. По-моему письменные материалы лучше.
Аноним: У Вас там красненькая единичка на конвертике стоит... щелкните дважды
Exponena: Вообще надо организовать для пробега по матрице вложенный цикл. При этом началььным значением мин и макс будет значение 1го элемента. Далее берем следующий элемент строке(столбце как вам угодно) и если он больше макс переопределяем макс=тек эл-т, если он меньше мин, переопределяем мин=текущий,
Exponena: А тут в личном сообщении можно прицепить файл?
Exponena: А вот у вас тут намудрено.
Exponena: И как их добавлять?
Exponena: Ну вот я теперь опять ничего добавить не могу.

Ответы

Ответ дал: Exponena
1
Ну вот, пока без комментариев по 1му вопросу. балы можете не добавлять.
Только тут ведется просмотр всего массива от B[1, 1] до B[n, m]
чтобы начинать просмотр скажем с [10, 10] надо вначале i j присвоить 10, и при переходе к следующему столбцу после приращения j на 1,устанавливать i:=10
 Далее что нужно, чтобы переделать его во 2е задание. Принцип пробега по массиву не меняется. Но теперь вместо min и max будем работать с рабочими переменными SUM и Pr. В SUM накапливаем сумму положительных. Начальное значение можно взять равное нулю.
Затем пробегаем по циклу сравниваем текущий элемент B[i, j] c 0 если B[i, j]>0, то добавляем его в сумму SUM:=SUM+B[i, j]
В противном случае переходим к следующему элементу.
Сложнее будет с произведением. Механизм накопления можно реализовать аналогично а вот какое присвоить начальное значение. 0? ну тогда, что бы мы не нашли произведение с 0 будет 0. 1? а вдруг вообще нет отрицательных элементов, а у нас произведение получится равным 1.
 Мне кажется надо сначала присвоить ему значение 0. А затем при пробежке по массиву при нахождении отрицательного числа сравнить произведение Pr с нулем
Pr=0? да тогда переопределяем его так: Pr:=B[i, j] (присваем ему значение найденного отрицательного элемента) .
Pr≠0? тогда переопределяем его так: Pr:=Pr*B[i, j]

P.S. И все-таки лучше уточнить у преподавателя, к чему относится отрезок. Т.е. это диапазон индексов поиска i, j? Или все же диапазон возможных значений элементов массива B[i, j]. Хотя можно выбрать один из вариантов и самому и оговорить его по ходу решения.(По-моему проще принять это как диапазон возможных значений элементов массива.)
На мой взгляд в условии следовало это оформить отдельным предложением. Например:
Числовые значения элементов массива принадлежат отрезку [-100; 100].
Приложения:
Вас заинтересует