Создать текстовый файл, в который построчно записать квадратный массив massivnn, заполненный целыми случайными числами в диапазоне от v_min до v_max. Размер массива n задать константой. Границы диапазона v_min и v_max задать с консоли. Прочитать из созданного файла числа построчно, главную и побочную диагонали массива и вывести их на экран. При чтении из файла массив не использовать и считать размер массива неизвестным.
1. Создадим на D:\Userфайл chisla.txt, откроем его для записи и запишем в него созданный массив построчно, разделяя элементы массива пробелами. Откроем его для чтения и прочитаем до конца, определив количество count записанных в нем чисел. Определим размер записанного массива m , взяв корень квадратный из найденного количества чисел. Снова откроем файл для чтения, и прочитаем записанные в нем числа двумя вложенными циклами: внешним (i)– по строкам, и внутренним (j) – по столбцам. При i=j читается число на главной диагонали, при i=n-j+1 читается число на побочной диагонали.
2. Схема алгоритма решения задачи:
3. Код программы
3.1. На языке Паскаль:
Program Variant_0;
Uses WinCrt;
Const n = 5; {задание размера массива именованной константой}
Var i, j : Word;
k, v_min, v_max, count, m1, n1: Integer;
massiv : Array [1..n, 1..n] Of Integer;
f: Text;
Begin
Randomize; {запуск генератора случайных чисел}
WriteLn('Лабораторная работа №8_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;
Assign(f, 'D:\User\f.txt');
ReWrite(f); {открываем файл для записи}
For i:=1 To n Do {записываем в файл исходный массив построчно}