- •Содержание
- •Пример оформления работы
- •Задание 2.
- •If (c In ['0'..'9']) Then {если очередной элемент - цифра}
- •Val(s,k,error); {преобразуем строку в число}
- •Задания на лабораторную работу №5
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Задание 2.
- •Задания на лабораторную работу №6
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Задание 2.
- •Задания на лабораторную работу №7
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 14
- •Вариант 15
- •Задание 2.
- •Задания на лабораторную работу №8
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Задание 2.
- •Задания на лабораторную работу №9
Задание 2.
Создать текстовый файл, в который построчно записать квадратный массив 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. Код программы:
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 {записываем в файл исходный массив построчно}
Begin
For j:=1 To n Do
Write(f, massiv[i,j]:5);
WriteLn(f);
End;
Close(f); {закрываем файл}
ReSet(f); {открываем файл для чтения}
count:=0; {количество записанных в файле чисел}
While (Not(EOF(f))) Do
Begin
Read(f, k);
count:=count+1;
End;
ReSet(f);
m1:=0; {количество чисел в первой строке – количество столбцов}
While (Not(EOLn(f))) Do
Begin
Read(f, k);
m1:=m1+1;
End;
n1:=count div m1; {количество строк}
WriteLn;
Writeln('строк=', n1);
Writeln('столбцов=', m1);
WriteLn;
WriteLn('Прочитанный из файла массив:');
WriteLn;
ReSet(f);
For i:=1 To n1 Do
Begin
For j:=1 To m1 Do
Begin
Read(f, k); {читаем очередное число}
Write(k:5); {и выводим его на экран}
End; {j}
WriteLn;
End; {i}
WriteLn;
WriteLn('Главная диагональ:');
Reset(f); {снова открываем файл для чтения}
For i:=1 To n1 Do
Begin
For j:=1 To m1 Do
Begin
Read(f, k);
If (i=j)
Then Write(k:5);
End; {j}
End; {i}
WriteLn;
WriteLn('Побочная диагональ:');
Reset(f); {снова открываем файл для чтения}
For i:=1 To n1 Do
Begin
For j:=1 To m1 Do
Begin
Read(f, k);
If (i=m1-j+1)
Then Write(k:5);
End; {j}
End; {i}
WriteLn;
Close (f);
End.
-
Компиляция, отладка, тестирование и получение результата:
-
Структура файла f.txt:
-9 -9 2 -6 2
1 9 -10 7 -9
3 0 -3 3 6
2 8 -6 -10 9
-9 7 2 -1 -4