Top.Mail.Ru
Ответы
Аватар пользователя
5лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Простая школьная задача в PascalABC

PascalABC. Напишите программу, которая запрашивает количество элементов линейного массива действительных чисел (не больше 25), затем сами элементы массива, затем выводит на экран введённый массив (на одной строке) и на следующей строке два его наименьших члена (одинаковые члены игнорируются - то есть из массива 3 2 1 1 будут выведены числа 1 и 2). Если таких членов в массиве нет, программа сообщает об этом. Отработав, программа должна спросить, не хочет ли пользователь повторить операцию.

По дате
По рейтингу
Аватар пользователя
Новичок
5лет

const
N = 25;

var
_n: integer;
a: array[1..N]of integer;
i, j: integer;
min: integer;
tmp: integer;
_continue: char;

begin
_continue := 'y';
while _continue <> 'n' do
begin
write('Введите количество элементов массива:');
readln(_n);

if (2 <= _n) and (_n <= N) then
begin
writeln('Введите элементы массива:');
for i := 1 to _n do
begin
readln(A[i]);
end;

writeln('Элементы массива:');
for i := 1 to _n do
begin
write(A[i], ' ');
end;

for i := 1 to _n do
begin
min := A[i];
for j := i + 1 to _n do
begin
if A[j] < min then
begin
tmp := A[i];
A[i] := A[j];
A[j] := tmp;
end;
end;
end;

end
else
writeln('Ошибка! Количество элементов массива должно быть болше 1 и не более 25.');
writeln;
if A[1] <> A[2] then
writeln('Два наименьших элемента массива:', A[1], ' ', A[2])
else
writeln('Наименьшие элементы совпадают.');
write('Продолжить? y/n:');
readln(_continue);
end;
end.

Аватар пользователя
Высший разум
5лет

Вау! Сколько букв?

Решение максимум на две строки кода!

Аватар пользователя
Профи
5лет

зачем ты всех скрыл?
Они дали верные ответы

Аватар пользователя
Мастер
5лет

program Test;
uses crt;
const
N = 10;
var
mas: array [1..25] of integer;
i,j,size,a,ask,k:integer;
begin
repeat
write('Введите размер массива: ');
readln(size);
writeln('');
if size > 25 then
begin
writeln('Вы ввели размер массива, больше возможного!');
exit;
end;
clrscr;
for i:=1 to size do
begin
write('Введите ',i,'-ый элемент массива: ');
read(mas[i]);
clrscr;
end;
write('Все элементы массива: ');
for i:=1 to size do
begin
write(mas[i], ' ');
end;
writeln('');
for i:=1 to size-1 do
for j:=1 to size-i do
if mas[j] > mas[j+1] then
begin
a:= mas[j];
mas[j]:= mas[j+1];
mas[j+1]:= a;
end;
write('Отсортированный массив: ');
for i:=1 to size do
write(mas[i],' ');
for i:=1 to size do
if mas[i] = mas[i+1] then
begin
mas[i]:= 0;
k:= i+1;
end;
writeln('');
writeln('Первый наименьший элемент массива - ',mas[k],'. Второй наименьший элемент массива - ',mas[k+1]);
write('Повторить? -Да (1), -Нет (0): ');
readln(ask);
clrscr;
until (ask <> 1)
end.

Аватар пользователя
Мастер
5лет

program Massiv;
var M: array [1..25] of integer;
i,n,min, max: integer;
Ans: byte;
begin
repeat
writeln('Введите кол-во элементов:');
readln(n);
writeln ('Введите элементы массива 1-', n,':');
for i:=1 to n do
read (M[i]);
writeln();
for i:=1 to n do
write(M[i],' ');
writeln();
min:=M[1];
max:=M[1];
for i:=2 to n do
begin
if M[i]>max then max:=M[i];
if M[i]<min then min:=M[i];
end;
if (min = max) then
writeln ('Нет минимального и максимального элемента.')
else
writeln ('Минимальное ч. ', min, ', максимальное ч. ', max);
writeln ('Повторить? 1 - Да, 0 - Нет');
readln (Ans);
until (Ans <> 1)
end.