ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Задачка на Pascal
  #1  
Старый 26.03.2009, 10:33
Аватар для LASS0
LASS0
Познающий
Регистрация: 03.01.2009
Сообщений: 33
Провел на форуме:
1536015

Репутация: 52
Отправить сообщение для LASS0 с помощью ICQ
По умолчанию Задачка на Pascal

Небольшая задачка на массивы, выручайте у самого мозгов не хватает(

Дан массив F(20). Найти сумму положительных элементов, лежащих перед наименьшим элементом этого массива и количество отрицательных элементов, лежащих после наименьшего элемента.
 
Ответить с цитированием

  #2  
Старый 26.03.2009, 10:55
Аватар для s0l_ir0n
s0l_ir0n
Участник форума
Регистрация: 14.03.2009
Сообщений: 237
Провел на форуме:
813785

Репутация: 314
Отправить сообщение для s0l_ir0n с помощью ICQ
По умолчанию

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;
//Считаем отрицательные после минимального элемента
-
Как-то так. Писал прям в ответе, не проверял, но думаю смысл ясен.

Последний раз редактировалось s0l_ir0n; 26.03.2009 в 11:00..
 
Ответить с цитированием

  #3  
Старый 26.03.2009, 15:55
Аватар для lll6
lll6
Познающий
Регистрация: 01.03.2008
Сообщений: 99
Провел на форуме:
613745

Репутация: 51
По умолчанию

Код:
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, было несколько ошибок.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка на Pascal LASS0 С/С++, C#, Delphi, .NET, Asm 3 11.03.2009 17:21
из Java в Pascal Moldman С/С++, C#, Delphi, .NET, Asm 1 15.02.2009 20:47
TURBO PASCAL 7 1.0 Daemond С/С++, C#, Delphi, .NET, Asm 1 03.12.2008 22:32
задачка по повуду Август?!?! Butter Чаты 5 21.01.2007 02:36



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ