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

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

Форум «Всё о Паскале» _ Задачи _ Ранжирование и умножение масива

Автор: 1111 1.11.2007 0:50

Люди помогите пожайлуста сделать задачу.
используя программу ранжирования(сортировки), найти произведение 3-х наименьших по модулю элементов массива Т=(2,-1,3,-2,1,5,-3,2,4,1) Распечатать массив до и после ранжирования . И ещё если несложно посмотри в чём у меня тут ошибка.
Задание
найти произведение элементов с чётными номерами массива

program proiz;
var
A:array[1..100] of integer;
p,i,n,m:integer;
BEGIN
repeat
write('Vvedite razmernost masiva'); readln(n);
until n<=100;
p:=1;
for i:=1 to n do
begin
write('a[',i:2,']=');
readln(a[i])
end;
begin
if a[i] mod 2=0 then
p:=p*a[i];
end;
write('proizvedenie elementov= ',p);
readln;
end.

Автор: volvo 1.11.2007 1:32

Цитата
в чём у меня тут ошибка.
Не по заданию делаешь: тебе надо найти НЕ произведение четных элементов, а произведение элементов с четными индексами:

  if i mod 2 = 0 then { <--- !!! }
p:=p*a[i];


Алгоритмы сортировки - здесь: http://forum.pascal.net.ru/index.php?showtopic=3065
Выбирай любой, сортируй с его помощью массив (хотя я совсем не уверен, что ранжирование и сортировка - это одно и то же), и находи 3 минимальных по модулю элемента...

Автор: Гость 1.11.2007 4:58

меня тоже интересует 1 задача в этой теме...