Задать вопрос
2 декабря, 17:06

Подпрограммы, Pascal ABC

Дано массивы А1 (N1, M1), A2 (N2, M2), A3 (N3, M3). Сформировать одномерные массивы В1, В2, В3, каждый из которых состоит из 2-ух элементов. В первом из них количество положительных элементов массивов А1, А2, А3 соответственно, во втором количество отрицательных элементов массивов А1, А2, А3 соответственно. Определение количества отрицательных и положительных элементов в исходном массиве и формирование одномерного массива осуществить в подпрограмме.

+4
Ответы (1)
  1. 2 декабря, 17:58
    0
    Type

    M = array[,] of integer; / / двумерный динамический

    V = array[1 ... 2] of integer; / / одномерный статический

    function nPos (pm: M) : integer;

    var

    i, j, p: integer;

    begin

    p : = 0;

    for i : = 0 to Length (pm, 0) - 1 do

    for j : = 0 to Length (pm, 1) - 1 do

    if pm[i, j] > 0 then p : = p + 1;

    nPos : = p

    end;

    function nNeg (pm: M) : integer;

    var

    i, j, p: integer;

    begin

    p : = 0;

    for i : = 0 to Length (pm, 0) - 1 do

    for j : = 0 to Length (pm, 1) - 1 do

    if pm[i, j] < 0 then p : = p + 1;

    nNeg : = p

    end;

    procedure GetV (A: M; var C: V) ;

    begin

    C[1] : = nPos (A) ;

    C[2] : = nNeg (A)

    end;

    procedure InitM (var A: M) ;

    var

    i, j: integer;

    begin

    for i : = 0 to Length (A, 0) - 1 do

    for j : = 0 to Length (A, 1) - 1 do

    A[i, j] : = random (100) - 50

    end;

    procedure PrintM (A: M) ;

    var

    i, j: integer;

    begin

    for i : = 0 to Length (A, 0) - 1 do

    begin

    for j : = 0 to Length (A, 1) - 1 do

    write (A[i, j]:4) ;

    writeln

    end

    end;

    var

    A1, A2, A3: M;

    B1, B2, B3: V;

    n1, m1, n2, m2, n3, m3: integer;

    begin

    Randomize;

    writeln ('Введите число строк и столбцов массива') ;

    readln (n1, m1) ;

    SetLength (A1, n1, m1) ;

    InitM (A1) ;

    Writeln ('массив А1') ;

    PrintM (A1) ;

    GetV (A1, B1) ;

    writeln ('Количество положительных ', B1[1], ', количество отрицательных ', B1[2]) ;

    writeln ('Введите число строк и столбцов массива') ;

    readln (n2, m2) ;

    SetLength (A2, n2, m2) ;

    InitM (A2) ;

    Writeln ('массив А2') ;

    PrintM (A2) ;

    GetV (A2, B2) ;

    writeln ('Количество положительных ', B2[1], ', количество отрицательных ', B2[2]) ;

    writeln ('Введите число строк и столбцов массива') ;

    readln (n3, m3) ;

    SetLength (A3, n3, m3) ;

    InitM (A3) ;

    Writeln ('массив А3') ;

    PrintM (A3) ;

    GetV (A3, B3) ;

    writeln ('Количество положительных ', B3[1], ', количество отрицательных ', B3[2]) ;

    end.

    Тестовый прогон:

    Введите число строк и столбцов массива

    3 3

    массив А1

    6 11 - 46

    24 - 41 36

    44 9 18

    Количество положительных 7, количество отрицательных 2

    Введите число строк и столбцов массива

    2 4

    массив А2

    37 - 4 - 2 43

    -18 36 0 44

    Количество положительных 4, количество отрицательных 3

    Введите число строк и столбцов массива

    5 2

    массив А3

    5 - 15

    49 - 1

    -40 35

    -33 - 9

    -22 - 31

    Количество положительных 3, количество отрицательных 7
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Подпрограммы, Pascal ABC Дано массивы А1 (N1, M1), A2 (N2, M2), A3 (N3, M3). Сформировать одномерные массивы В1, В2, В3, каждый из которых ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Дано массивы А1 (N1, M1), A2 (N2, M2), A3 (N3, M3). Сформировать одномерные массивы В1, В2, В3, каждый из которых состоит из 2-ух элементов.
Ответы (1)
Сделать программу в Pascal. 1. Организуйте ввод и вывод одномерного массива в строку, в столбец. 2. Найдите произведение ненулевых элементов одномерного массива. 3.
Ответы (1)
1. Возвести в квадрат все элементы массива A. Размер массива и значения элементов массива - произвольные. 2. Увеличить на 4 все элементы в первой половине массива A (считать, что в массиве чётное число элементов).
Ответы (1)
Создать два одномерных массива, состоящих из целых чисел. Элементы массива вводятся с клавиатуры. В первом массиве найти номер первого нечетного элемента массива. Во втором массиве найти первый четный элемент массива.
Ответы (1)
Помогите написать программу! Дан целочисленный массив M из 15 элементов. Элементы массива могут принимать целые значения от - 500 до 500 и вводятся с клавиатуры. Найти и вывести: 1. Сумму квадратов отрицательных элементов.
Ответы (1)