Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2016, 15:06   #1
Владимир10101
Пользователь
 
Регистрация: 30.10.2016
Сообщений: 10
Сообщение Помощь с одномерным массивом.(Delphi или Pascal)

Помогите, пожалуйста, написать код по вычислению минимального произведения отрицательных подряд идущих элементов одномерного массива. Сам пытался и как-то ни о чем((
Владимир10101 вне форума Ответить с цитированием
Старый 30.10.2016, 15:46   #2
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
const n=20;
var p:array[1..n] of integer;
    i,k,min0,min1:integer;
begin
   Randomize;
   For i:=1 to n do
   begin
      p[i]:=-10+Random(21);
      Write(p[i]:2,'  ');
   end;
   Writeln;
   Writeln;
   min0:=0;
   min1:=1;
   k:=0;
   For i:=1 to n+1 do
      If (i<=n) and (p[i]<0) then
      begin
         min1:=min1*Abs(p[i]);
         k:=k+1;
      end else
      begin
         If (k>1) and ((min0=0) or (min0>min1)) and (p[i-1]<0) then
            min0:=min1;
         min1:=1;
         k:=0;
      end;
   Writeln(min0);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]

Последний раз редактировалось newerow1989; 30.10.2016 в 15:49.
newerow1989 вне форума Ответить с цитированием
Старый 30.10.2016, 17:28   #3
Владимир10101
Пользователь
 
Регистрация: 30.10.2016
Сообщений: 10
По умолчанию

Еще как сойдет!!! Спасибо огромное!!
Владимир10101 вне форума Ответить с цитированием
Старый 30.10.2016, 17:58   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Старый 30.10.2016, 18:18   #5
Владимир10101
Пользователь
 
Регистрация: 30.10.2016
Сообщений: 10
По умолчанию

Что-то не понимаю. Если 2 элемент будет больше нуля, то по идее должно выполняться тело после else , но оно не будет выполняться , так как одно из условий это k>1 , а у нас к=1. Объясните, пожалуйста, что происходит, если 2 элемент будет больше нуля ))), потому что я уверен, что неправильно мыслю(
Владимир10101 вне форума Ответить с цитированием
Старый 30.10.2016, 18:21   #6
Владимир10101
Пользователь
 
Регистрация: 30.10.2016
Сообщений: 10
По умолчанию

к=1, потому что, если например , будет первый элемент отрицательный
Владимир10101 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Трудности с одномерным массивом(Pascal) adrenalin142 Помощь студентам 4 18.06.2014 20:28
Работа с одномерным массивом в Pascal DeadKeLeVRa Помощь студентам 1 17.06.2013 20:13
получить случайное число в соответствии с заполненным одномерным массивом (Delphi) Artsiom Помощь студентам 5 11.09.2012 15:15
Работа с одномерным массивом TvYown Общие вопросы C/C++ 2 23.12.2010 17:29