Другие языки программирования и технологии

Задача на Pascal. Процедуры.

Вычислить и запомнить суммы положительных элементов каждой строки матрицы А (10,20), В (15,10).
Помогите решить, пожалуйста! Программа должна быть написана через процедуры.
Очень несложная программа. Решается так:
1. Готовишь данные, которые потребуются для выполнения задачи. Т. е. заполняешь массивы случайными значениями, если больше данные неоткуда брать. Делается это последовательным перебором элементов массива с присвоением необходимого значения. Например, заполнение массива [10 x 20] случайными значениями в диапазоне от -50 до 50 выглядит так
for i:= 1 to 10 do
for j:= 1 to 20 do
a[i,j]:= -50 + random(99);
2. Описываешь решение. Т. е. в соответствии с условиями задачи необходимо произвести все необходимые расчёты. Например, сумму положительных элементов первой строки массива можно найти так:
for j:= 1 to 20 do
if a[1,j] > 0 then
s:= s + a[1,j];
3. Запоминаешь данные, полученные в ходе решения. Нужно не забыть, что в циклах значение расчётной переменной должно быть сохранено до перезаписи в ходе каждой следующей итерации. Например, можно придумать свой массив с размерностью по числу строк исходного, куда можно будет записать значение всех сумм строк. Или можно записывать в файл. Всё будет зависеть от фантазии.
4. Т. к. задачу надо решить через процедуры, то выделяем в логической последовательности однотипные участки алгоритма, оформляем их как процедуры и вызываем по имени в те моменты, когда это нужно. Следует иметь ввиду, что в Паскале передавать массивы в параметрах процедуры без проблем не получится, но всё решается через описание пользовательского типа массив в разделе type, а также можно попытать счастье в указателях. Например, можно в качестве первой процедуры описать заполнение одного из исходных массивов данными. А в качестве второй программы выполнить поиск либо суммы положительных элементов в какой-либо одной строке, либо во всём массиве сразу, это уже как удобнее будет.
Игорь Игорь
Игорь Игорь
2 339
Лучший ответ