Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Подскажите как найти наибольшое и наименьшое

Автор: Port111 4.04.2003 18:31

Подскажите как найти наибольшое и наименьшое из элементов массива....
Просто мне надо решить задачу:
Найдите сумму элементов массива расположенные между наименьшим и наибольшим элементами..

Автор: AlaRic 4.04.2003 18:53

Наибольшее:
max:=a[1];
for i:=2 to n do
if max < a[i] then max:=a[i];

Наименьшее:
min:=a[1];
for i:=2 to n do
if min > a[i] then min:=a[i];

Автор: big 4.04.2003 20:23

{дополнение к ответу AlaRic}
Полностью прога выглядит так:
CONST n=100;
VAR  i,max,min,sum:integer;
       a:array[1..n] of integer;
BEGIN
  max:=a[1];
  min:=a[1];
  sum:=0;
  for i:=2 to n do
  begin
           if max > a[i] then max:=a[i];
           if min < a[i] then min:=a[i];  
  end;
  for i:=min  to max do
     sum:=sum+a[i];
  Writeln('Сумма равна = ',sum);
  readln;
END.
В коде проги можно изменить значение переменной n, т.е. количество чисел в массиве a.

Автор: akri 7.04.2003 12:52

Цитата
{дополнение к ответу AlaRic}
Полностью прога выглядит так:
CONST n=100;
VAR  i,max,min,sum:integer;
       a:array[1..n] of integer;
BEGIN
  max:=a[1];
  min:=a[1];
  sum:=0;
  for i:=2 to n do
  begin
           if max > a[i] then max:=a[i];
           if min < a[i] then min:=a[i];  
  end;
  for i:=min  to max do
     sum:=sum+a[i];
  Writeln('Сумма равна = ',sum);
  readln;
END.
В коде проги можно изменить значение переменной n, т.е. количество чисел в массиве a.


Я бы немного добавил, если я правидльно понял вопрос,  две переменные

VAR  i,max,min,maxi,mini,sum:integer;
       a:array[1..n] of integer;
BEGIN
  max:=a[1];
  min:=a[1];
  sum:=0;
  for i:=2 to n do
  begin
           if max > a[i] then maxi:=i;  man:=a[i];
           if min < a[i] then mini:=i;  min:=a[i];
  end;
       if maxi<mini
     to begin
            i:=maxi; maxi:=mini; mini:=i;          
               end;
  for i:=mini  to maxi do
     sum:=sum+a[i];
  Writeln('Сумма равна = ',sum);
  readln;
END.


Может кто что добавит, а то я все позабывал ;)

Автор: AlaRic 7.04.2003 14:52

Вопрос: вводить массив не нужно? Раз уж писать расширенный код так писать весь!