Просмотр полной версии : Задачка на Pascal
Небольшая задачка на массивы, выручайте у самого мозгов не хватает(
Дан массив F(20). Найти сумму положительных элементов, лежащих перед наименьшим элементом этого массива и количество отрицательных элементов, лежащих после наименьшего элемента.
s0l_ir0n
26.03.2009, 10:55
var
f: array [1..20] of integer;
sumdo, sumposle, pos,i, min:integer;
begin
min:=0;
for i:=1 to 20 do begin
if f[i]>min
then begin min:=f[i];
pos:=i;
end;
//Вычсляем минимальный элемен массива и его позицию в массиве
for i:=1 to pos-1 do begin;
if f[i]>=0
Then sumdo:=sumdo+f[i]
end;
//Считаем положительные до минимального элемента
for i:=pos+1 to 20
do begin
if f[i]<0
Then inc(sumposle);
end;
//Считаем отрицательные после минимального элемента
-
Как-то так. Писал прям в ответе, не проверял, но думаю смысл ясен.
var
f: array [1..20] of integer;
sumdo, sumposle, pos,i, min:integer;
begin
min:=maxint;
for i:=1 to 20 do begin
readln(f[i]);
if f[i]<min then begin
min:=f[i];
pos:=i;
end;
end;
//Вычсляем минимальный элемен массива и его позицию в массиве
for i:=1 to pos-1 do
if f[i]>0 then sumdo:=sumdo+f[i];
//Считаем положительные до минимального элемента
for i:=pos+1 to 20 do
if f[i]<0 Then inc(sumposle);
//Считаем отрицательные после минимального элемента
Writeln('Сумма:',sumdo);
Writeln('Количество:',sumposle);
End.
Подправил решение s0l_ir0n, было несколько ошибок.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot