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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2018, 20:49   #1
askvid
Новичок
Джуниор
 
Регистрация: 29.11.2018
Сообщений: 2
По умолчанию Помогите пожалуйста решить задачу с массивом

Дан массив a1, a2, a3,…, a2n. Определить количество и произведение положительных значений элементов массива, лежащих между элементом с наименьшим по абсолютной величине значением и элементом с номером n.

По-отдельности я вроде бы понимаю все, о чем идет речь в задаче, но не хватает знаний чтобы совместить все в программу.

Помогите пожалуйста.
askvid вне форума Ответить с цитированием
Старый 09.12.2018, 21:00   #2
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,529
По умолчанию

Первый проход: цикл от 1 до 2n.
Ищешь минимальный элемент (по абсолютному значению), запоминаешь его номер k.

Второй проход: цикл от k до n (или от n до k - как получится).
Ищешь положительные элементы, считаешь их количество и одновременно вычисляешь их произведение.
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/
В ожидании Кеши...
jura_k вне форума Ответить с цитированием
Старый 09.12.2018, 21:08   #3
askvid
Новичок
Джуниор
 
Регистрация: 29.11.2018
Сообщений: 2
По умолчанию

Спасибо большое, сейчас попробую
askvid вне форума Ответить с цитированием
Старый 16.12.2018, 09:57   #4
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

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


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу,пожалуйста!!!вторую часть не могу решить. Родион Афанасьев Паскаль, Turbo Pascal, PascalABC.NET 1 03.03.2018 19:44
Помогите решить задачу с двумерным массивом GoldEagle Помощь студентам 3 14.12.2015 23:09