Другие языки программирования и технологии
одномерные массивы паскаль
Заполнить массив десятью элементами с помощью генератора псевдослучайных чисел. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами.
Давно было сделано во freepascal-е, в принципе должно работать и в Turbo и в PascalABC
program minmAx;
uses crt;
const
N = 10;
type
a = array [ 1..10 ] of integer;
procedure print(ar:a);
var i:integer;
begin
writeln('array');
for i := 1 to N do
write(ar [ i ] :3);
writeln;
end;
procedure swap(var a1, a2:integer);
var temp:integer;
begin
temp:=a1;
a1:=a2;
a2:=temp;
end;
procedure reverse(var ar:a; iM, iX:integer);
var i,j:integer;
begin
j := iX - 1;
i := iM + 1;
repeat
swap(ar [ i ] , ar [ j ]);
inc(i);
dec(j);
until((j < i));
writeln;
end;
var
i,j,min,max,iX,iM:integer;
ar:a;
begin
clrscr;
Randomize;
for i := 1 to N do
ar [ i ] := Random(100);
print(ar);
min := ar [ 1 ];
max := ar [ 1 ];
iM := 1;
iX := 1;
for i := 2 to N do
begin
if min > ar [ i ] then
begin
min := ar [ i ] ;
iM := i;
end;
if max < ar [ i ] then
begin
max := ar [ i ] ;
iX := i;
end;
end;
if iX < iM then
begin
swap(iM,iX);
end;
writeln('index 1 :',iM:2, ', index 2 :',iX:2);
if(iX - iM > 2)then
reverse(ar, iM, iX);
print(ar);
readln;
end.
program minmAx;
uses crt;
const
N = 10;
type
a = array [ 1..10 ] of integer;
procedure print(ar:a);
var i:integer;
begin
writeln('array');
for i := 1 to N do
write(ar [ i ] :3);
writeln;
end;
procedure swap(var a1, a2:integer);
var temp:integer;
begin
temp:=a1;
a1:=a2;
a2:=temp;
end;
procedure reverse(var ar:a; iM, iX:integer);
var i,j:integer;
begin
j := iX - 1;
i := iM + 1;
repeat
swap(ar [ i ] , ar [ j ]);
inc(i);
dec(j);
until((j < i));
writeln;
end;
var
i,j,min,max,iX,iM:integer;
ar:a;
begin
clrscr;
Randomize;
for i := 1 to N do
ar [ i ] := Random(100);
print(ar);
min := ar [ 1 ];
max := ar [ 1 ];
iM := 1;
iX := 1;
for i := 2 to N do
begin
if min > ar [ i ] then
begin
min := ar [ i ] ;
iM := i;
end;
if max < ar [ i ] then
begin
max := ar [ i ] ;
iX := i;
end;
end;
if iX < iM then
begin
swap(iM,iX);
end;
writeln('index 1 :',iM:2, ', index 2 :',iX:2);
if(iX - iM > 2)then
reverse(ar, iM, iX);
print(ar);
readln;
end.
Заполнил.
Переставил.
Беги платить.
Переставил.
Беги платить.
Похожие вопросы
- Помогите с одномерным массивом. Напишите код на Паскале.
- Помогите пожалуйста решить задачи по информатике, одномерные массивы. Си шарп. Очень срочно. Пожалуйста!!!!
- Помогите с программой Одномерные массивы и указатели
- В одномерном массиве, состоящем из n вещественных элементов, вычис- лить: 39 1) сумму положительных элементов массив
- Помогите сделать лабораторную работу по теме "Одномерные массивы" [C++]
- Microsoft Visual C++ 6.0 В одномерном массиве, состоящем из n вещественных элементов, вычислить...
- Помогите с С++. Надо найти произведение элементов одномерного массива между первым и последним 0.
- Написать программу работы с одномерным массивом из 15 вещественных элементов для решения задач:
- Паскаль: Как удалить все положительные элементы в одномерном массиве?
- помогите пожалуйста..паскаль..составить программу вычисления суммы неповторяющихся элементов одномерного массива