IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Массив, (дополнить алгоритм)
midss
сообщение 31.03.2011 12:15
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Дан массив из 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;


Не могу вывести формулу, которая будет отбирать каждый третий элемент.
Помогите пожалуйста...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 31.03.2011 12:42
Сообщение #2


Гость






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

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





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Цитата(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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 29.04.2024 0:07
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"