Then Write(chisla, i)
Else Break; Until (i=0); ReSet(chisla); {открываем файл для чтения} Read(chisla, i); {и читаем первое число} min:=i; max:=i; i_max:=0; i_min:=0; summa:=0.0; count:=0; ReSet(chisla); {снова открываем файл для чтения} WriteLn; WriteLn('Числа, записанные в файле:'); While (Not(EOF(chisla))) Do {цикл чтения чисел} Begin Read(chisla, i); {читаем очередное число} Write(i:5); {и выводим его на экран} If (i>max) Then Begin max:=i; i_max:=FilePos(chisla); End; If (i<min) Then Begin min:=i; i_min:= FilePos(chisla); End; summa:=summa+i; count:=count+1; End; {цикла чтения файла} WriteLn; sr_arifm:=summa/count; WriteLn; WriteLn('summa=', summa:0:0); WriteLn('count=', count); WriteLn('sr_arifm=', sr_arifm:6:3); WriteLn('max=', max, ' i_max=', i_max); WriteLn('min=', min, ' i_min=', i_min); WriteLn; Close(chisla); End.
4. Компиляция, отладка, тестирование и получение результата:
Задание 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; {количество записанных в файле чисел}
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|