Процедуры с циклом, паскаль АБС

weathes
Дата: 15.06.2017 13:41:30
Написать подпрограмму нахождения элементов двумерного массива целых чисел размера 6х4 в промежутке -10;9 , вычислить произведение этих элементов, в качестве входного параметра подпрограммы должен быть двумерный массив, а выходным параметром - произведение заданных элементов. Составить программу, которая определяет и заполняет три различных массива случайными числами, вызывает данную подпрограмму для этих массивов и находит максимальное число таких элементов. Подпрограмма кроме выше сказанного должна выводить на экран линейный массив, найденные элементы, их сумму и количество


Я в общем, пытался написать программу. Дошел до "Составить программу, которая..." и перестал понимать, что хочет задание.

var A:array [1..6,1..4] of integer; 
    i,j:integer;
    x,y,z:A;
    p,k:real;
    procedure WTF (e:A; var k,p:real);
    begin
    p:=0;
    k:=0;
         for i:=1 to 6 do begin
                          for j:=1 to 4 do begin
                                           A[i,j]:=random(102)-21;
                                           write(a[i,j]:3);
                                           if ((a[i,j]>=-10) and (a[i,j]<=9)) the begin
                                                                                  p:=p*A[i,j];
                                                                                  k:=k+1;
                                                                                  end;
                                           end;
                          writeln
                          end;
   writeln ('Произведение заданных чисел',p);
   writeln ('Количестве элементов в промежутке от -10 до 9',k);
           begin

Помогите решить.
Модератор: Для оформления кода надо использовать тэг SRC
exp98
Дата: 15.06.2017 14:00:57
Моё мнение такое:
- Сделать процедуру, к-рая вычисляет произведение.
- Сделать запускающую прогу, к-рая в цикле (3 раза) составляет разные матрицы.
- для каждой матрицы вычисляет нужное произведение
- для каждой матрицы запоминает, сколько было сомножителей (это можно возвращать из процедуры)
- находит среди них максимальное кол-во сомножителей + ещё и сами эти сомножители.
как-то так
weathes
Дата: 15.06.2017 14:07:44
exp98,

основную мысль уловил, но создание не дается. Сложновато.
Можете показать
-Сделать, запускающую прогу (этот пункт?)
exp98
Дата: 15.06.2017 15:28:22
Надо читать, с чего может начинаться текст главной программы на Паскале (ведь не на Дельфи же? да и есть отдельный раздел "Дельфи", там все знатоки). Заканчивается же она хитрыми буквами: "end."

Ваша WTF() - создаёт матрицу, переделайте её, чтобы матрица в зависимости от входного параметра WTF() была различной. Вот и вызывайте в цикле процедуру WTF() с этим параметром. А за ней вызывайте вашу ту процедуру из задания (или расширьте WTF() до нужного функционала).