Задать вопрос
18 ноября, 21:29

Дано массивы A (N1, N1), B (N2, N2), C (N3, N3). найти в каждой строке исходного массива наименьший элемент и переставить его с элементом стоящим на главной диагонали. нахождение в каждой строке массива наименьшего элемента и его перестановку с элементом стоящим на главной диагонали оформить в виде подпрограммы

+3
Ответы (1)
  1. 19 ноября, 00:58
    0
    Type

    M = array[,] of integer;

    procedure Swap (var a: M; i: integer; j: integer) ;

    //обменивает местами элементы массива a[i, i] и a[i, j]

    var

    buff: integer;

    begin

    if i j then begin

    buff : = a[i, i]; a[i, i] : = a[i, j]; a[i, j] : = buff

    end

    end;

    function GetColMin (a: M; i: integer) : integer;

    / / возвращает номер столбца, в котором найден минимальный элемент

    / / по строке с номером i, т. е. a[i,?]=min

    var

    j, vmin, jm: integer;

    begin

    vmin : = 32766;

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

    if vmin > a[i, j] then begin

    vmin : = a[i, j]; jm : = j

    end;

    Result : = jm

    end;

    procedure SwapMatrix (var a: M) ;

    / / меняет местами в массиве a[n, n] минимальный по строке элемент с

    / / элементом, лежащим на главной диагонали.

    / / Обращается к функции GetColMin и процедуре Swap

    var

    i: integer;

    begin

    for i : = 0 to Length (a, 0) - 1 do Swap (a, i, GetColMin (a, i))

    end;

    procedure WriteMas (a: M; title: string) ;

    / / выводит заголовок, а потом массив построчно

    var

    i, j, n: integer;

    begin

    n : = Length (a, 0) - 1;

    writeln (title) ;

    for i : = 0 to n do

    begin

    for j : = 0 to n do write (a[i, j]:5) ;

    writeln

    end

    end;

    procedure CreateMas (var a: M; n: integer; p: integer; q: integer) ;

    / / Создает массив a[0 ... n-1,0 ... n-1] и заполняет его

    / / данными используя датчик случайных чисел с мощностью "р"

    / / и минимальным значением q

    var

    i, j: integer;

    begin

    Randomize;

    SetLength (a, n, n) ;

    for i : = 0 to n - 1 do

    for j : = 0 to n - 1 do

    a[i, j] : = random (p) + q

    end;

    const

    n1 = 3;

    n2 = 5;

    n3 = 8;

    var

    a, b, c: M;

    begin

    CreateMas (a, n1, 100, - 50) ;

    WriteMas (a, 'Исходный массив а') ;

    SwapMatrix (a) ;

    WriteMas (a, 'Результирующий массив а') ;

    CreateMas (b, n2, 300, - 150) ;

    WriteMas (b, 'Исходный массив b') ;

    SwapMatrix (b) ;

    WriteMas (b, 'Результирующий массив b') ;

    CreateMas (c, n3, 500, - 250) ;

    WriteMas (c, 'Исходный массив c') ;

    SwapMatrix (c) ;

    WriteMas (c, 'Результирующий массив c') ;

    end.

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

    Исходный массив а

    14 23 7

    -50 31 36

    -39 - 43 - 38

    Результирующий массив а

    7 23 14

    31 - 50 36

    -39 - 38 - 43

    Исходный массив b

    -91 6 - 21 - 139 - 141

    130 - 99 44 131 143

    93 5 97 - 111 43

    -113 15 125 88 31

    -115 - 39 27 124 144

    Результирующий массив b

    -141 6 - 21 - 139 - 91

    130 - 99 44 131 143

    93 5 - 111 97 43

    88 15 125 - 113 31

    144 - 39 27 124 - 115

    Исходный массив c

    -234 211 207 - 131 151 - 228 197 - 163

    147 5 180 - 135 - 181 217 - 178 - 3

    178 - 142 - 149 - 44 - 195 - 224 - 187 - 173

    -24 62 28 - 134 - 11 - 216 - 59 83

    62 - 86 48 152 - 44 - 49 - 218 92

    91 - 60 201 206 - 160 - 135 - 131 77

    161 - 184 - 204 113 - 181 199 223 240

    147 129 143 - 162 - 6 80 98 113

    Результирующий массив c

    -234 211 207 - 131 151 - 228 197 - 163

    147 - 181 180 - 135 5 217 - 178 - 3

    178 - 142 - 224 - 44 - 195 - 149 - 187 - 173

    -24 62 28 - 216 - 11 - 134 - 59 83

    62 - 86 48 152 - 218 - 49 - 44 92

    91 - 60 201 206 - 135 - 160 - 131 77

    161 - 184 223 113 - 181 199 - 204 240

    147 129 143 113 - 6 80 98 - 162
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Дано массивы A (N1, N1), B (N2, N2), C (N3, N3). найти в каждой строке исходного массива наименьший элемент и переставить его с элементом ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
В записи m[7]=9 m обозначает 1) имя массива 2) имя элемента массива 3) номер элемента массива 4) значение элемента массива в записи m[7]=
Ответы (1)
Заменить значение каждого элемента каждой строки массива А на значение соответствующего элемента соответствующего столбца массива В (1-й элемент 1-й строки массива А на 1-й элемент 1-го столбца массива В, 2-й элемент 1-й строки массива А на 2-й
Ответы (1)
1. Дан массив 1 2 3 4 5 6 7 8 7 0 - 8 - 4 2 16 - 10 2 А Определите: А) размерность массива; Б) значение элемента А[3]; В) значение максимального элемента массива; Г) индекс первого отрицательного элемента массива;
Ответы (1)
Помогите с информатикой 1. Что такое массив? 2. Что такое элемент массива? 3. Что такое индекс массива? 4. Что такое размерность массива? 5. Зачем нужны массивы? 6. Как можно обратиться к ячейке массива? 7. Какого типа могут быль элементы массива? 8.
Ответы (1)
Подпрограммы, Pascal ABC Дано массивы А1 (N1, M1), A2 (N2, M2), A3 (N3, M3). Сформировать одномерные массивы В1, В2, В3, каждый из которых состоит из 2-ух элементов.
Ответы (1)