Домашние задания: Информатика

Информатика, решение задач на массивы

Дан массив размера N и два числа А и В (А<В). Вывести все элементы

массива, значения которых находятся между этими числами и их номера.
Нужно составить и записать алгоритм решения задачи в графическом и словесно

формульном виде.
А как заполняется массив (вручную с клавиатуры или генерируется автоматически генератором случайных чисел)?

Ладно, напишу оба варианта:

1) Массив вводится с клавиатуры:

Program P1;
uses crt;
const n=10;
type massiv=array [1..n] of real;
var a, b: real;
i: integer;
m: massiv;
begin
clrscr;
writeln ('Введите массив с клавиатуры. После ввода каждго числа нажимайте клавишу Enter:');
for i:=1 to n do begin
write ('Введите ', i, '-й элемент массива: ');
readln (m[i]);
end;
write ('Введите число A, после чего нажмите клавишу Enter: ');
readln (a);
write ('Введите число B (>A), после чего нажмите клавишу Enter: ');
readln (b);
if a>=b then writeln ('Ошибка: число B меньше или равно числу A.') else begin
writeln ('Элементы массива, находящиеся в интервале от A до B:');
for i:=1 to n do begin
if (m[i]>=a) and (m[i]<=b) then writeln (i, '-й элемент (', m[i], ')') else writeln ('таких элементов нет.');
end;
end;
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.

2) Массив генерируется автоматически:

Program P1;
uses crt;
const n=10;
type massiv=array [1..n] of real;
var a, b: real;
i: integer;
m: massiv;
begin
clrscr;
for i:=1 to n do begin
m[i]:=random (100);
end;
writeln ('Был сгенерирован массив:');
for i:=1 to n do begin
write (' ', m[i]);
end;
writeln (' ');
write ('Введите число A, после чего нажмите клавишу Enter: ');
readln (a);
write ('Введите число B (>A), после чего нажмите клавишу Enter: ');
readln (b);
if a>=b then writeln ('Ошибка: число B меньше или равно числу A.') else writeln ('Элементы массива, находящиеся в интервале от A до B:');
for i:=1 to n do begin
if (m[i]>=a) and (m[i]<=b) then writeln (i, '-й элемент (', m[i], ')') else writeln ('таких элементов нет.');
end;
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
Евгений Щербаков
Евгений Щербаков
43 559
Лучший ответ