|
Вопрос # 3 685/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
помогите пожалуйста решить задачу: последовательно вводятся 10 целых чисел найти разницу между наибольшим и наименьшим из них
 |
Вопрос задал: Андрей Нервный (статус: Посетитель)
Вопрос отправлен: 25 января 2010, 21:08
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Паровоз
Здравствуйте, Андрей Нервный!
var
a:array[1..10] of Integer;//введенные числа
min,max:Integer;
d:Integer;
i:Integer;
begin
a[1]:=-2;a[2]:=3;a[3]:=4;a[4]:=-3;a[5]:=6;
a[6]:=-1;a[7]:=2;a[8]:=8;a[9]:=-3;a[10]:=0;
min:=a[1];for i:=2 to 10 do if a[i]
max:=a[1];for i:=2 to 10 do if a[i]>max then max:=a[i];
d:=max-min;//искомая разность
end;
 |
Ответ отправил: Паровоз (статус: 10-ый класс)
Время отправки: 25 января 2010, 22:35
Оценка за ответ: 5
Комментарий к оценке: уважаемый паровоз не могли бы вы еще раз решить эту же задачу только не через массив а цикл for. просто массивы мы еще не изучали (а то будет подозрительно)
|
Мини-форум вопроса
Всего сообщений: 5; последнее сообщение — 26 января 2010, 21:34; участников в обсуждении: 3.
|
Паровоз (статус: 10-ый класс), 25 января 2010, 22:37 [#1]:
Забыл про разметку:
var
a:array[1..10] of Integer;
min,max:Integer;
d:Integer;
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
min:=a[1];for i:=2 to 10 do if a[i]<min then min:=a[i];
max:=a[1];for i:=2 to 10 do if a[i]>max then max:=a[i];
d:=max-min;
end;
|
|
Мережников Андрей (статус: Абитуриент), 26 января 2010, 05:34 [#2]:
to Паровоз - а зачем делать два цикла, если все можно сделать в одном??? И еще - использовать в качестве имен переменных имена функций - не очень хорошая идея.
|
|
Паровоз (статус: 10-ый класс), 26 января 2010, 16:05 [#3]:
To Мережников Андрей:
Так это же вопросы для сдачи зачета. А там чем хуже, тем лучше. А с Вашими комментариями я безусловно согласен.
|
|
Паровоз (статус: 10-ый класс), 26 января 2010, 21:13 [#4]:
Readln(x);min:=x;max:=x;
for i:=2 to 10 do
begin
Readln(x);
if x<min then min:=x;
if x>max then max:=x;
end;
d:=max-min;
|
|
Андрей Нервный (статус: Посетитель), 26 января 2010, 21:34 [#5]:
спасибо тебе огромное выручил
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|