ClrScr;. Assign(out_min_max,’d:\User\out_min_max.txt’);
Assign(out_min_max,’d:\User\out_min_max.txt’);
ReWrite(out_min_max); открытие текстового файла для записи
Init(m_min, m_max, a); инициализация массива
Writeln(out_min_max, ‘Исходный вектор:’);
For i:=1 To n Do
Write(out_min_max, a[i]:5);
WriteLn(out_min_max);
Min_max(n, a, min, max, i_min, i_max); поиск элементов массива
WriteLn(out_min_max, ‘min=’, min);
WriteLn(out_min_max, ‘i_min=’, i_min);
WriteLn(out_min_max, ‘max=’, max);
WriteLn(out_min_max, ‘i_max=’, i_max);
Close(out_min_max); закрытие текстового файла
ReadLn;
End.
Результат работы программы:
Исходный вектор:
-1 -19 -19 -35 50 26 -47 17 1 -7
min=-47
i_min=7
max=50
i_max=5
2. Отсортировать элементы массива методом простого выбора: в массиве отыскивается минимальный элемент и меняется с первым элементом массива, из оставшихся элементов снова находится минимальный и меняется со вторым элементом, и так далее. Последний, самый большой элемент, сам станет на свое место. Результаты сохранить в текстовом файле out_sort.txt:
Program Primer_2;
Uses CRT;
Const n = 10; размер массива
m_min = -50; диапазон значений
m_max = 50; элементов массива
Type TVector = Array [1..n] Of Integer;
Var i: Word;
a : TVector;
out_sort: Text; файловая переменная
Procedure Init(m: Word; elem_min, elem_max: Integer; Var vector: TVector);
Var i: Word;
Begin
Randomize; запуск генератора случайных чисел
For i:=1 To m Do задание элементов массива случайными числами
в диапазоне от elem_min до elem_max
vector[i]:=elem_max - Random(elem_max - elem_min +1);
End;
Procedure Sort_vybor(m: Word; Var vector: TVector);
Var i, j, k: Word;
temp: Integer;
Begin
For i := 1 To m-1 Do
Begin
k := i;
temp := vector[i];
For j := i + 1 To m Do
If (vector[j] < temp) Then
Begin
temp := vector[j];
k:= j;
End;
vector[k] := vector[i];
vector[i] := temp;
End;
End;
Begin
Дата добавления: 2015-08-08; просмотров: 634;