Помощь - Поиск - Пользователи - Календарь
Полная версия: Массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
midss
Дан массив из 49 элементов на интервале 1. . . 200. Найти среднее арифмит каждых третьих элементов.

Var A:array [1..20] of integer;  {Массив}
K,S,i: integer; {Прочие переменные}
begin
for i:=1 to 49 do begin {заполнил массив}
a[i]:=random(101)+1;
write(a[i]:5); {вывел}
end;


Не могу вывести формулу, которая будет отбирать каждый третий элемент.
Помогите пожалуйста...
volvo
Для начала обрати внимание на размер массива, и на то количество данных, которые ты пытаешься записать в него. Вылета за границы (с заполнением не принадлежащей массиву области памяти => неадекватного поведения программы) не боишься? В лучшем случае она у тебя закончится аварийно, если установлена галочка там, где нужно в настройках.

Цитата
Не могу вывести формулу, которая будет отбирать каждый третий элемент.
Каждый третий - это тот, индекс которого нацело делится на 3. То есть, остаток от деления на 3 равен 0. if i mod 3 = 0 then (это будут третий, шестой, девятый. Если надо начать с первого - то if i mod 3 = 1 then, тогда будет первый, четвертый, седьмой, ...). Или используй цикл while с шагом = 3
midss
Цитата(volvo @ 31.03.2011 12:42) *

Для начала обрати внимание на размер массива, и на то количество данных, которые ты пытаешься записать в него. Вылета за границы (с заполнением не принадлежащей массиву области памяти => неадекватного поведения программы) не боишься? В лучшем случае она у тебя закончится аварийно, если установлена галочка там, где нужно в настройках.

Каждый третий - это тот, индекс которого нацело делится на 3. То есть, остаток от деления на 3 равен 0. if i mod 3 = 0 then (это будут третий, шестой, девятый. Если надо начать с первого - то if i mod 3 = 1 then, тогда будет первый, четвертый, седьмой, ...). Или используй цикл while с шагом = 3


Спасибо большое, ошибки понял. smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.