Вычислить и запомнить суммы положительных элементов каждой строки матрицы А (10,20), В (15,10).
Помогите решить, пожалуйста! Программа должна быть написана через процедуры.
Другие языки программирования и технологии
Задача на Pascal. Процедуры.
Очень несложная программа. Решается так:
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, а также можно попытать счастье в указателях. Например, можно в качестве первой процедуры описать заполнение одного из исходных массивов данными. А в качестве второй программы выполнить поиск либо суммы положительных элементов в какой-либо одной строке, либо во всём массиве сразу, это уже как удобнее будет.
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, а также можно попытать счастье в указателях. Например, можно в качестве первой процедуры описать заполнение одного из исходных массивов данными. А в качестве второй программы выполнить поиск либо суммы положительных элементов в какой-либо одной строке, либо во всём массиве сразу, это уже как удобнее будет.
Похожие вопросы
- Проверьте пожалуйста блок-схему к задаче на Pascal
- Pascal Процедуры.Хелп.
- Pascal (процедуры и функции)
- Помогите разобраться с задачей по PASCAL
- Помогите написать задачу в Pascal.
- Задачи по Pascal
- помогите с задачей по Pascal abc!!!
- Задачи в Pascal'
- Помогите написать задачу на Pascal 7.0
- Помогите в решении задачи на Pascal