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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2024, 11:07   #1
NikSix
Новичок
Джуниор
 
Регистрация: 07.01.2024
Сообщений: 3
По умолчанию Помогите с условиями ABC PASCAL

Добрый день
Несколько дней мучаюсь с вопросом по поводу этой задачи, препод не принял моего решения, а как применить теорию из математики я не знаю, буду признателен за любую помощь, мне бы просто разобраться как формулу эту записать правильно
Думал даже использовать несколько циклов или создать отдельные функции для ak-1 и ak+11, но не уверен в правильности своего решения
мой код

Код:
program dz178g;
type
  arrayOfIntegerT = array[1..100] of integer;

var
  arrayOfInteger:arrayOfIntegerT;
  n:integer;
  
  function createArray(localLenght:integer) : arrayOfIntegerT;
  var i:integer; localArray:arrayOfIntegerT;
      begin
        randomize;
        for i:=1 to localLenght do
          begin
            localArray[i]:=random(99)+1;
          end;
          createArray:=localArray;
      end;
  
  function ElementSumChain(localArray:arrayOfIntegerT;localLenght:integer): integer ;
    var i,sum:integer;
    begin
      sum:=0;
      for i:=1 to localLenght do 
        begin
            if (localArray[i])<((localArray[i]*(i-1))+(localArray[i]*(i+11)))/2 then
            sum:=sum+1;
            writeln(localArray[i],'<((',localArray[i],'',(i-1),')+(',localArray[i],'',i+11,'))/2');
        end;
       ElementSumChain:=sum;
    end;

begin
  write('Введите n: '); readln(n);
  arrayOfInteger:=createArray(n);
  write('количество членов a: ',ElementSumChain(arrayOfInteger,n));
end.
Изображения
Тип файла: png 178г.png (9.5 Кб, 20 просмотров)

Последний раз редактировалось BDA; 07.01.2024 в 12:08.
NikSix вне форума Ответить с цитированием
Старый 07.01.2024, 11:26   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Открою вам секрет: индекс внизу - это индекс, а не умножение.
p51x вне форума Ответить с цитированием
Старый 07.01.2024, 11:38   #3
NikSix
Новичок
Джуниор
 
Регистрация: 07.01.2024
Сообщений: 3
По умолчанию

p51x, Спасибо, однако я это уже понял, но не понимаю как вписать в условия этот индекс
Код мой ошибочный, это я признаю, поэтому и создал эту тему
NikSix вне форума Ответить с цитированием
Старый 07.01.2024, 12:08   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

localArray[i-1] localArray[i+11]
p51x вне форума Ответить с цитированием
Старый 07.01.2024, 12:11   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
if (
    (i - 1 >= 1) and
    (i + 11 <= localLenght) and
    (localArray[i] < (localArray[i - 1] + localArray[i + 11]) / 2)
) then
  inc(sum);
Или можно поправить границы цикла, чтобы не проверять индексы.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 07.01.2024, 12:39   #6
NikSix
Новичок
Джуниор
 
Регистрация: 07.01.2024
Сообщений: 3
По умолчанию

Ответ был так рядом, спасибо большое ♥
NikSix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
впр с 2-мя условиями Фонарик2 Microsoft Office Excel 3 22.08.2016 12:09
(Pascal ABC) Функция с условиями Sanginow Помощь студентам 3 20.02.2012 19:44
Поиск с условиями И и ИЛИ hirurg777 Microsoft Office Access 3 16.01.2012 11:47
XML+XSL Работа с условиями Jenya HTML и CSS 2 06.10.2009 12:22