Помощь - Поиск - Пользователи - Календарь
Полная версия: задачи с массивом
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
шалунья
unsure.gif Пожалуйста, помогите решить задачки:

В массиве хранится информация о стоимости 1 кг. 30 видов конфет.
Определить порядковый номер самого дешевого вида конфет. Если таких
видов несколько, то должен быть найден номер первого и последнего из
них.

Даны действительные a1,....,a16. Получить max(a1+a16,a2+a15,....,a8+
a9)
volvo
шалунья
Вторая задача будет решаться вот так:
Код

var a: array[1 .. 16] of real;
i: integer;
max: real;
Begin
 for i := 1 to 16 do
 begin
   write('a[', i, '] ='); readln(a[i]);
 end;
 max: = -maxInt;
 for i := 1 to 8 do
   if max < (a[i] + a[17-i]) then max := a[i] + a[17-i];
 writeln('максимум = ', max)
End.


Писал прямо сюда, так что могут быть ошибки...
шалунья
volvo
Спасибо!!!
volvo
А вот так решается первая...
Код

const n = 30;
var price: array[1 .. n] of real;
min_ix, last_ix, i: integer;
begin
 for i := 1 to n do
 begin
  write('a[', i, '] ='); readln(a[i]);
 end;

 min_ix := 1; last_ix := 1;
 for i := 2 to n do
 begin
   if price[min_ix] > price[i] then
   begin
     min_ix := i; last_ix := i;
   end
   else if price[min_ix] = price[i] then last_ix := i;
 end;

 writeln('минимальная цена =', price[min_ix], ' индекс = 'min_ix);
 if last_ix <> min_ix then
   writeln( 'последний индекс =', last_ix )
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.