1. Заполнить квадратный массив massivnn целыми случайными числами в диапазоне от v_min до v_max. Поменять местами главную и побочную диагонали массива. Размер массива n задать константой. Границы диапазона v_min и v_max задать с консоли. Вывести на экран исходный и полученный массивы.
Элементы главной диагонали квадратного массива имеют одинаковые индексы: massivii (i=1…n). Соответствующие им построчно элементы побочной диагонали имеют индексы massivi,n-i+1.Меняем их местами алгоритмом циклического обмена через третью переменную.
2. Схема алгоритма решения задачи:
3. Код программы
3.1. На языке Паскаль:
Program Variant_0;
Uses WinCrt;
Const n = 5; {задание размера массива именованной константой}
Var i, j : Word;
k, v_min, v_max: Integer;
massiv : Array [1..n, 1..n] Of Integer;
Begin
Randomize; {запуск генератора случайных чисел}
WriteLn('Лабораторная работа №6_2');
WriteLn('Вариант №0');
WriteLn('ИС-11-1');
WriteLn('Пупкин Василий');
WriteLn;
WriteLn('Задайте диапазон случайных чисел');
Write(‘v_min=’);
ReadLn(v_min);
Write(‘v_max=’);
ReadLn(v_max);
For i:=1 To n Do {заполнение массива случайными числами}
For j:=1 To n Do
massiv[i,j]:=Random(v_max-v_min + 1) + v_min;
WriteLn;
WriteLn('Исходный массив:');
For i:=1 To n Do {вывод на экран исходного массива}
Begin
For j:=1 To n Do
Write(massiv[i,j]:5);
WriteLn;
End;
WriteLn;
For i:=1 To n Do {меняем местами соответствующие элементы}
Begin {главной и побочной диагоналей}
k:=massiv[i,i];
massiv[i,i]:=massiv[i,n-i+1];
massiv[i,n-i+1]:=k;
End;
WriteLn;
WriteLn('Полученный массив:');
For i:=1 To n Do {вывод на экран полученного массива}