Форум «Всё о Паскале» _ Задачи _ Задача с массивом
Автор: null3d 11.05.2007 2:18
Помогите, плиз, с задачкой если есть лишняя минутка ;)
В масиве хранится информация о годе рождения 30 человек.Вывести самого старшего и самого молодого (1989-2000) - из этого интервала
Добавлено через 9 мин.
Код
Uses crt; Const n=30;
Var m: array [1..n] of integer; I: byte g , min, max, r : integer;
begin clrscr; ... randomize; for i:=1 to n do begin m[i] := random (2000-1990+1)+1990; end;
так правильно вроде? не хватает только самого подсчёта максимального и минимального значения и его вывода.
Автор: arhimag 11.05.2007 2:28
var ar : array [1..30] of integer; i, max, min : integer;
begin for i:= 1 to 30 do begin {Пробегаем по массиву и считываем данные} write('Enter date:'); read(ar[i]); end; max:=ar[1]; {Самый младший - первый} min:=ar[1]; {Самый старший - первый} i:=1; while i<30 do begin inc(i); if ar[i]>max then {Если младше младшего, то он становится младшим} max:=ar[i]; if ar[i]<min then {Если старше старшего, то он становится старшим} min:=ar[i] end; write('Mlad:',max,';Star:',min); {Вывод} readln; readln; end.
Автор: null3d 11.05.2007 2:34
благодарю, сейчас попробую
Автор: arhimag 11.05.2007 2:35
Увидел обновление первого сообщения.
Код
var ar : array [1..30] of integer; i, max, min : integer;
begin randomize; for i:= 1 to 30 do begin {Пробегаем по массиву и считываем данные} ar[i]:=random(11)+1990; {Разброс я бы поставил побольше, ar[i]:=-random(50)+25+1990;} end; max:=ar[1]; {Самый младший - первый} min:=ar[1]; {Самый старший - первый} i:=1; while i<30 do begin inc(i); if ar[i]>max then {Если младше младшего, то он становится младшим} max:=ar[i]; if ar[i]<min then {Если старше старшего, то он становится старшим} min:=ar[i] end; writeln('Mlad:',max,';Star:',min); {Вывод}
for i:= 1 to 30 do writeln('Element ',i,' raven ',ar[i]); {Это для проверки результа когда удостоверишься в работоспособности удалишь эту строчку}
readln; end.
Автор: null3d 11.05.2007 2:38
ну да, через рандом, в ручную массив заполнять не надо сек