Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
serzhinform
1 / 1 / 0
Регистрация: 11.09.2013
Сообщений: 23
1

сглаживание

20.11.2013, 16:52. Просмотров 600. Ответов 3
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
uses crt;
const nmax=100;
type mas=array[1..nmax] of real;
procedure Smooth(var a:mas;n:byte);
var i:byte;
    x,y,z:real;
begin
i:=2;
x:=a[1];
y:=a[2];
z:=a[3];
repeat
a[i]:=(x+y+z)/3;
x:=y;
y:=z;
i:=i+1;
z:=a[i+1];
until i=n;
end;
procedure Print(var a:mas;n,k:byte);
var i:byte;
begin
writeln('Sglazhivanie ',k);
for i:=1 to n do
write(a[i]:0:2,' ');
writeln;
writeln;
end;
var a:mas;
    n,i:byte;
begin
clrscr;
randomize;
repeat
write('Razmer massiva do ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Massiv:');
for i:=1 to n do
 begin
  a[i]:=10*random;
  write(a[i]:0:2,' ');
 end;
writeln;
writeln;
for i:=1 to 5 do
 begin
  Smooth(a,n);
  Print(a,n,i);
 end;
readln
end.
--------Как можно максимально упростить эту задачу? чтоб использовалась только процедура smooth и не было repeat, until. И не было второй процедуры print.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 16:52
Ответы с готовыми решениями:

Выполнить пятикратное сглаживание массива
Описать процедуру Smooth(A,N), заменяющую каждый элемент вещественного массива...

процедура выполняющая сглаживание массива..готовый код,работает,проверка
Программисты проверьте, пожалуйста код, все работает,просто сам...

Сглаживание
Помогите решить ,вот код на с# надо тоже самое в паскале сделать public...

Описать процедуру Smooth1(A, N), выполняющую сглаживание вещественного массива
Описать процедуру Smooth1(A, N), выполняющую сглаживание вещественного массива...

Описать процедуру Smooth1(A, N), выполняющую сглаживание вещественного массива
4. Описать процедуру Smooth1(A, N), выполняющую сглаживание вещественного...

3
Puporev
Модератор
54596 / 42097 / 29067
Регистрация: 18.05.2008
Сообщений: 99,336
20.11.2013, 18:45 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
uses crt;
type mas=array[1..100] of real;
procedure Smooth(var a:mas;n,K:byte);
var i:byte;
    x,y,z:real;
begin
x:=a[1];
y:=a[2];
z:=a[3];
for i:=2 to n-1 do
 begin
  a[i]:=(x+y+z)/3;
  x:=y;
  y:=z;
  if i<n-1 then z:=a[i+2]
 end;
writeln('Sglazhivanie ',k);
for i:=1 to n do
write(a[i]:0:2,' ');
writeln;
end;
var a:mas;
    n,i:byte;
begin
clrscr;
randomize;
write('Razmer massiva do 100 n=');
readln(n);
writeln('Massiv:');
for i:=1 to n do
 begin
  a[i]:=10*random;
  write(a[i]:0:2,' ');
 end;
writeln;
for i:=1 to 5 do
Smooth(a,n,i);
readln
end.
1
serzhinform
1 / 1 / 0
Регистрация: 11.09.2013
Сообщений: 23
20.11.2013, 19:01  [ТС] 3
объясните пжста если не трудно что тут происходит в каждом действии? ... а то не соображу что-то как и что происходит в некоторых действиях
0
Puporev
Модератор
54596 / 42097 / 29067
Регистрация: 18.05.2008
Сообщений: 99,336
20.11.2013, 19:58 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
uses crt;
type mas=array[1..100] of real;
procedure Smooth(var a:mas;n,K:byte);
var i:byte;
    x,y,z:real;
begin
x:=a[1];  {запоинаем первые 3}
y:=a[2];
z:=a[3];
for i:=2 to n-1 do
 begin
  a[i]:=(x+y+z)/3;{записываем их среднее на место бывшего по середине элемента}
  x:=y;{второе будет первым}
  y:=z;{третье - вторым}
  if i<n-1 then z:=a[i+2] {если впереди есть 2 элемента, то третий будет следующим}
 end;
writeln('Sglazhivanie ',k);{выводим результат сглаживания}
for i:=1 to n do
write(a[i]:0:2,' ');
writeln;
end;
var a:mas;
    n,i:byte;
begin
clrscr;
randomize;
write('Razmer massiva ot 3 do 100 n='); {вводим размер массива от 3 до 100}
readln(n);
writeln('Massiv:');
for i:=1 to n do  {создаем масив}
 begin
  a[i]:=10*random;
  write(a[i]:0:2,' ');
 end;
writeln;
for i:=1 to 5 do {делаем 5 раз сглаживание}
Smooth(a,n,i);
readln
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2013, 19:58

Процедуры. Описать процедуру Smoolh3(,4, N), выполняющую сглаживание вещественного массива
люде помогите нужно сдать зачет по программированию и сделать задачи Param...

Сглаживание
Здравствуйте. Имеется вот такая простая функция: void DrawStudyExample(HWND...

Сглаживание
Пр нажатии на кнопку вылетает ошибка &quot;project project1.exe raised exception...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru