Дан одномерный массив размерностью n, найти все положительные элементы - Turbo Pascal
Формулировка задачи:
Помогите пожалуйста!!
Задание: Дан одномерный массив размерностью n, найти все положительные элементы: 1.Учесть что если пользователь ввел не число, а букву то выдать сообщение повторить ввод. 2.или использовать всевозможные действия против ошибок!! ввод с клавиатуры.
Буду очень благодарен!!
Решение задачи: «Дан одномерный массив размерностью n, найти все положительные элементы»
textual
Листинг программы
const
Max_Value = 100;
var
arr: array[1..Max_Value] of integer;
err, n: integer;
St: string;
i: byte;
begin
writeln('Введите размереность массива до ', Max_Value, ': ');
repeat
write('N: ');
readln(St);
val(St, n, err);
until (n in [1..Max_Value]) and (err = 0);
writeln('Массив: ');
i:=1;
repeat
repeat
readln(St);
val(St, arr[i], err);
until (err = 0);
i:=i + 1;
until (i = n+1);
writeln('Положительные: ');
for i:=1 to n do
if arr[i] > 0 then write(arr[i], ' ');
end.
Объяснение кода листинга программы
- В начале кода объявляются переменные: — arr — массив размерности n для хранения целых чисел; — err, n — целочисленные переменные для подсчета ошибок и размера массива соответственно; — St — строковая переменная для временного хранения введенных пользователем данных; — i — счетчик для перебора элементов массива.
- Выводится приглашение для ввода размера массива, в пределах допустимого диапазона.
- Если размер массива введен верно, то происходит чтение элементов массива в цикле, до тех пор пока не будет введено значение больше или равное Max_Value.
- Выводится приглашение для ввода положительных чисел массива.
- Если элемент массива положительный, то его значение выводится на экран.