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

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

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

> нахождение нечетных номеров массива, нати среднее арифметическое нечетных ном
сообщение
Сообщение #1


Гость






здравствуйте уважаемые.
помогите найти среднее арифметическое нечетных одномерного массива.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 18)
сообщение
Сообщение #2


Гость






поправка,
нечетных элементов массива
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






s := 0; k := 0;
for i := 1 to n do
if a[i] mod 2 = 1 then begin
s := s + a[i]; k := k + 1;
end;
if k <> 0 then
s := s / k;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






blink.gif извини, а что у тебя "k"?

размерность массива?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Размерность массива = N
К это число найденных нечетных чисел...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






почему то у меня на k выдает ошбику, когда делим s:=s/k
пишет type mismatch
все стоит integer.и масив и все переменные, что не так? unsure.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






При делении не будет Integer... S опиши как Real ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Бывалый
***

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

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


BOT
Напиши: s:=round(s/k)

Сообщение отредактировано: Дож -


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Дож,
ты уверен, что получить при <1, 3, 3> ответ 2 вместо 2.333... это то, что нужно?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Бывалый
***

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

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


Цитата
ты уверен, что получить при <1, 3, 3> ответ 2 вместо 2.333... это то, что нужно?

В поставленной задаче ни слова о точности результата.


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Правда? А голова тебе зачем? ЦЕЛЫМ делать среднее арифметическое?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Код
uses crt;
var
M: array [1..100] of integer;
var
a,b,k:integer;
s:real;
BEGIN
randomize;
clrscr;
 writeln('enter a');
 readln(a);
 for b:=1 to a do
  begin
   M[b]:=random(11)-10;
   writeln(' Vivod Massiva ',M[b]);
  end;
     s:=0;k:=0;
for b:=1 to a do
 begin
  if M[b] mod 2=1 then
   begin
   s:=s+M[b]; k:=k+1;
   end;

  if k<>0 then
   begin
    s:=Round(s/k);
   end;
   end;
writeln('S= ',S:5:1);

readkey;
END.

почему S постоянно равна 0? даже когда нуля нет на нечетных позициях?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Бывалый
***

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

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


Bot
ЗАЧЕМ ты объявил переменную s как real а потом округляешь ее?


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






убрал round, все равно s=0
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Гость






Потому что
if k <> 0 then
s := s / k; { НЕ делать Round !!! }


и приведи свои данные, что ты вводишь?

Дож, убедился?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Гость






ввожу любое число, например 5, заполняется массив числами, даж если нет нуля, все равно пишет что S=0
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Бывалый
***

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

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


Цитата(volvo @ 3.12.2005 20:07)
Дож, убедился?

Ага... yes2.gif


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Гость






У тебя генерируются отрицательные числа... С ними такое не проходит... Бери еще и по модулю:
if abs(M[b]) mod 2=1 then
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Гость






СПАСИБО! +)
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 8.09.2025 11:41
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name