Показать сообщение отдельно
Старый 28.05.2011, 19:44   #1 (permalink)
~nezabudka~
Новичок
 
Регистрация: 26.05.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Задача на массивы, Pascal. Помогите найти ошибку

Дан вектор А[1:15].

1) найти минимальный элемент

2) найти произведение минимального элемента и суммы элементов 2ектора, больших - 2

3) найти произведение среднеарифметического значения вектора на максимальный элемент вектора.

4) найти номер максимального элемента из первых 10 элементов вектора .

В четвертом задании что-то не так


PROGRAM VECTOR;
USES WINCRT;
CONST N=15;B=2;
VAR
A:ARRAY[1..15] OF INTEGER;
MIN,MAX,I,S1,S2,P1,MAXX: INTEGER;
SRA,P2:REAL;
BEGIN
RANDOMIZE;
WRITELN(' ЗАДАН ВЕКТОР А:');
FOR I:=1 TO N DO
A[I]:=RANDOM(30)-10;
BEGIN
FOR I:=1 TO N DO
WRITE(A[I]:4);
WRITELN;
WRITELN;
END;
MIN:=A[1];
BEGIN
FOR I:=2 TO N DO
IF A[I]<MIN
THEN MIN:=A[I];
WRITELN(' 1) МИНИМАЛЬНЫЙ ЭЛЕМЕНТ ВЕКТОРА РАВЕН:',MIN:4);
WRITELN;
END;
S1:=0;
P1:=1;
BEGIN
FOR I:=1 TO N DO
IF A[I]>B
THEN
S1:=S1+A[I];
P1:=S1*MIN;
WRITELN(' 2) СУММА ЭЛЕМЕНТОВ >2:',S1:4);
WRITELN;
WRITELN(' ПРОИЗВЕДЕНИЕ МИНИМАЛЬНОГО ЭЛЕМЕНТА И');
WRITELN(' СУММЫ ЭЛЕМЕНТОВ >2 РАВНО:',P1:8);
WRITELN;
END;
BEGIN
S2:=0;
P2:=1;
SRA:=0;
MAX:=A[1];
BEGIN
FOR I:=2 TO N DO
IF A[I]>MAX
THEN MAX:=A[I];
END;
FOR I:=1 TO N DO
S2:=S2+A[I];
SRA:=S2/N;
P2:=SRA*MAX;
WRITELN(' 3) МАКСИМАЛЬНЫЙ ЭЛЕМЕНТ ВЕКТОРА:',MAX:4);
WRITELN;
WRITELN(' СРЕДНЕАРИФМЕТИЧЕСКОЕ ЗНАЧЕНИЕ ВЕКТОРА:',SRA:8:2);
WRITELN;
WRITELN(' ПРОИЗВЕДЕНИЕ СРЕДНЕАРИФМЕТИЧЕСКОГО ЗНАЧЕНИЯ ВЕКТОРА');
WRITELN(' НА МАКСИМАЛЬНЫЙ ЭЛЕМЕНТ РАВНО:',P2:8:2);
WRITELN;
END;
MAX:=A[1];
MAXX:=1;
BEGIN
FOR I:=1 TO 10 DO
IF A[I]>MAX
THEN
BEGIN
MAX:=A[I];
MAXX:=I;
WRITELN(' 4) МАКСИМАЛЬНЫЙ ЭЛЕМЕНТ ИЗ ПЕРВЫХ 10-И РАВЕН:',MAX:4,', ЕГО НОМЕР:',MAXX:4);
END;
END;
END.
~nezabudka~ вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070