Лабораторная работа № 3
Разработка программ, связанных с формированием и обработкой одномерных массивов.
Цель работы.
Приобретение навыков написания программ, связанных с формированием
и обработкой одномерных массивов, удовлетворяющих заданному условию.
Примеры выполнения лабораторной работы на одномерные массивы
Пример 1
В целочисленном массиве Х(5; -7; 16; 12; -5; 22; -8; 15; 6; 2) расставить элементы в возрастающем порядке. Напечатать исходный и измененный массивы.
const n=10;
type mass=array[1..n] of integer;
Var I,j:integer; buf:integer;
const x:mass=(5,-7,16,12,-5,22,-8,15,6,2);
begin
writeln(' исходный массив');
for i:=1 to n do
write(x[i],’ ‘);
writeln;
for j:=1 to n-1 do
for i:=1 to n-j do
if x[i]>x[i+1] then
begin
buf:=x[i];
x[i]:=x[i+1];
x[i+1]:=buf
end;
writeln(' полученный массив ');
for i:=1 to n do
write(x[i], ' ');
writeln;
end.
ответ
исходный массив
5 -7 16 12 -5 22 -8 15 6 2
полученный массив
-8 -7 -5 2 5 6 12 15 16 22
******************************************************************
Пример 2
В массиве Х(3,5; -7,4; 1,7; 12,9;-5,6; 21,3; -8,6; 4,5; 0,6; 2,5) найти максимальный элемент среди элементов меньше 5. Затем расставить элементы, стоящие левее максимального в возрастающем порядке. Исходный массив и результаты вычислений записать в файл.
uses Crt;
const n=10;
Var I,j,k:integer; max,buf:real;f:text;
const
x:array[1..n] of real=(3.5,-7.4,1.7,12.9,-5.6,21.3,-8.6,4.5,0.6,2.5);
begin
for i:=1 to n do
if (x[i]<5) and (k=0) then begin max:=x[i];k:=i end
else if x[i]<5 then
if x[i]>max then begin k:=i; max:=x[i] end;
assign(f,'array1_1.pas');
rewrite(f);
writeln(f,'исходный массив:');
for i:=1 to n do
write(f,' x[',i,']=',x[i]:4:1,’ ‘);
writeln(f);
writeln(f);
writeln(f,' max=',max:4:1,' k=',k);
for j:=1 to k-1 do
for i:=1 to k-1-j do {сортировка с 1 по k-1 элемент}
if x[i]>x[i+1] then begin buf:=x[i];
x[i]:=x[i+1];
x[i+1]:=buf
end;
writeln(f);
writeln(f,'отсортированный массив:');
for i:=1 to n do write(f,x[i]:4:1,’ ‘);
writeln(f);
close(f)
End.
Ответ
исходный массив:
3.5,-7.4,1.7,12.9,-5.6,21.3,-8.6,4.5,0.6,2.5
max= 4.50 k=8
отсортированный массив:
-8.6 -7.4 -5.6 1.7 3.5 12.9 21.3 4.5 0.6 2.5
***************************************************************************
Пример 3
В целочисленном массиве Х(4; 12; 7; 9; 6; 3; -9; 1; 10; 21; -6; 13) найти максимальный элемент среди элементов >3, имеющих нечетные индексы. Затем расставить элементы, стоящие левее максимального в убывающем порядке
Исходный массив и результаты вычислений записать в файл.
program lab3_Primer3;
const n=12;
type mas=array[1..n] of integer;