Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Сборная Домашка
+3

Помогите пожалуйста решить задачу по информатике :)

нужно составить алгоритм и программу на Turbo Pascal, дан одномерный массив А из 30 элементов. найти наибольший элемент массива. вывести на экран исходный массив и найденный элемент

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

Вопрос в том, что означает слово "дан" - ибо он может быть дан как константа (тогда где сам массив?), может быть введен вручную с клавиатуры и может быть сгенерирован автоматически при помощи генератора случайных чисел.

Итак, массив вводится вручную с клавиатуры (заполняется):

1234567891011121314151617181920212223
 Program P1; 
uses crt; 
const n=30; 
type mas=array [1..n] of real; 
var A: mas; 
    i: byte; 
    max: real; 
begin 
clrscr; 
writeln ('Введите с клавиатуры массив (элементы массива, только числа), после ввода каждого из элементов массива (числа) нажимайте клавишу Enter. При вводе дробных значений целую часть от дробной отделяйте точкой, а не запятой.'); 
for i:=1 to n do begin 
    write ('Введите ', i, '-й элемент массива: '); 
    readln (A[i]); 
    end; 
max:=A[1]; 
write ('Вы ввели массив:'); 
for i:=1 to n do write (' ', A[i]); 
writeln (' '); 
for i:=1 to n do if A[i]>max then max:=A[i]; 
writeln ('Наибольший элемент этого массива: ', max); 
write ('Программа завершена. Для выхода нажмите клавишу Enter.'); 
readkey; 
end. 

2-ой вариант (здесь массив генерируется случайными числами):

12345678910111213141516171819
 Program P1; 
uses crt; 
const n=30; 
type mas=array [1..n] of byte; 
var A: mas; 
    i, max: byte; 
begin 
clrscr; 
randomize; 
for i:=1 to n do A[i]:=random (101); 
max:=A[1]; 
write ('Был сгенерирован массив:'); 
for i:=1 to n do write (' ', A[i]); 
writeln (' '); 
for i:=1 to n do if A[i]>max then max:=A[i]; 
writeln ('Наибольший элемент этого массива: ', max); 
write ('Программа завершена. Для выхода нажмите клавишу Enter.'); 
readkey; 
end.