Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > вопросик


Автор: Анютка 22.12.2005, 20:51
В задачке нужно определить индекс элемента,значение которого наиболее близко к среднему.
Как это показать,ведь <,>,= не подходят?

Автор: DemoCode 22.12.2005, 20:57
1. Определяем среднее (сумма всех элементов массива / количество элементов)
2. Индекс := 0
3. Разница := большое число (например, максимально допустимое)
4. Цикл: Разница2 := Abs (Среднее - Значение элемента).
Если Разница2 < Разница то Разница:=Разница2 и Индекс:=Текущий индекс
5. Ответ : Индекс

Автор: Fighter 22.12.2005, 22:43
Держи исходничек.

Код

Uses crt;

const N = 5;

var
  a: array [1..N] of integer;
  i: integer;
  mid: integer;
  s: integer;
  mid_i: integer;
  r: integer;
  r2: integer;
begin
  clrscr;
  for i := 1 to n do
  begin
    write('A[',i,']= ');
    readln(a[i]);
    s := s + a[i];
  end;
  mid := s div n;
  mid_i := 1;
  r := a[1];
  for i := 1 to n do
    if a[i] > r then r := a[i];

  for i := 1 to n do
  begin
    r2 := abs(mid - a[i]);
    if r2 < r then
    begin
      r := r2;
      mid_i := i;
    end;
  end;

  writeln('Mid_i: ', mid_i);

  readkey;

end.



Автор: Анютка 23.12.2005, 08:35
спасибки!выручили! smile только объясните,как это работает!! smile

Автор: Zero 24.12.2005, 09:44
Цитата
только объясните,как это работает!!

по всей видемости, ответ близок к тому что написал DemoCode.

PS: Анютка все твои темы получаются для тебя одного, т.к. ты их называешь, не информативными именами, и если другому участнику понадобятся такие же решения, то они заново будут создавать такие же темы и тратить свою и наше время... smile http://forum.vingrad.ru/index.php?act=SR&f=27 прямо самый первый пункт, хотябы...

Например тему можно было назвать: "Как найти среднее значение элементов массива"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)