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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2012, 02:58   #1
zver1804
 
Регистрация: 29.10.2012
Сообщений: 9
По умолчанию Процедуры в Паскаль

Описать процедуру Smooth (A, N), которая заменяет каждый элемент настоящего
массива A размера N на его среднее арифметическое со своими соседями
(«Сглаживания массива»). Массив А - входной и выходной параметр, N -
входной параметр. С помощью этой процедуры выполнить пятикратное
сглаживания этого массива, выводя на экран результаты каждого
сглаживания.
zver1804 вне форума Ответить с цитированием
Старый 10.11.2012, 12:31   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Ждем Ваши наработки

Вот сама функция, осталось написать совсем чуть-чуть:
Код:
const
  n = 20;

type
  tarray = array[1..n] of real;

procedure smooth(var a: tarray; const n: integer);
var
  i: integer;
  t, tmp: real;
begin
  if n <= 1 then exit;
  t := a[1];
  a[1] := (a[1] + a[2]) / 2;
  for i := 2 to n - 1 do
  begin
    tmp := (t + a[i] + a[i + 1]) / 3;
    t := a[i];
    a[i] := tmp;
  end;
  a[n] := (t + a[n]) / 2;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 10.11.2012 в 12:46.
BDA вне форума Ответить с цитированием
Старый 10.11.2012, 13:24   #3
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
 tmp := (t + a[i] + a[i + 1]) / 3;
    t := a[i];   // это имхо выше надо
    a[i] := tmp;
так не проще?
Код:
a[i]:=(a[i]+a[i+1]+a[i-1])/3;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 10.11.2012, 13:40   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Mad_Cat, а Вы проверьте
Имхо, ваша формула не учитывает, что a[i-1] уже изменился.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
паскаль процедуры РОзочка_)) Помощь студентам 4 08.06.2012 18:57
Процедуры Паскаль GamBitFRK Паскаль, Turbo Pascal, PascalABC.NET 2 26.03.2012 17:51
Процедуры в Паскаль baizhik_street Помощь студентам 0 22.11.2010 22:43
процедуры паскаль mono Помощь студентам 6 06.04.2009 23:55