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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2013, 18:17   #1
vladicvladic123
Пользователь
 
Регистрация: 13.11.2013
Сообщений: 13
По умолчанию процедуры и функции : Дан вектор A(n). Построить вектор B(n), i-ый элемент которого равен среднему арифметическому (Паскаль)

Нужно переделать этот код, чтобы было через процедуры и функции (без передачи параметров). Условие : Дан целочисленный вектор A(n). Построить вектор B(n), i-ый элемент которого равен среднему арифметическому первых i-элементов вектора A:B[i]=(A[1]+...+A[i])/i

Сам код (турбо паскаль) :

Код:
Uses crt;
Var A:array[1..100] of integer; i,j,n,s:integer;
B:array[1..100] of real;
Begin
ClrScr; Randomize;
Write('n='); Readln(n);{ввод кол-ва элементов в массивах}
For i:=1 to n do
 Begin
  A[i]:=random(51);{генерация произвольного элемента массива}
  s:=0;
  For j:=1 to i do s:=s+A[j];{расчёт суммы первых i элементов}
  B[i]:=s/i;{среднее арифметическое и перенос в массив В}
 End;
ClrScr;
For i:=1 to n do Write(A[i]:7);{вывод первого массива}
Writeln;
For i:=1 to n do Write(B[i]:7:2);{вывод второго массива}
Readln;
End.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 03.12.2013 в 22:58.
vladicvladic123 вне форума Ответить с цитированием
Старый 04.12.2013, 13:12   #2
vladicvladic123
Пользователь
 
Регистрация: 13.11.2013
Сообщений: 13
По умолчанию

Помогите))
vladicvladic123 вне форума Ответить с цитированием
Старый 04.12.2013, 14:56   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

вытянуть часть кода из основной программы в процедуры без параметров - это дело не хитрое.
Почему сами это не хотите сделать?!

впрочем, извольте:
Код:
Uses crt;
Var 
  A : array[1..100] of integer; 
  n : integer;
  B : array[1..100] of real;

procedure VvodMassivA;
var i:integer;
begin
  Randomize;
  Write('n='); Readln(n);{ввод кол-ва элементов в массивах}
  For i:=1 to n do
     A[i]:=random(51);{генерация произвольного элемента массива}
end;

procedure ZapolnitMassivB;
var i,j,s:integer;
begin
 For i:=1 to n do
  begin
   s:=0;
   For j:=1 to i do s:=s+A[j];{расчёт суммы первых i элементов}
   B[i]:=s/i;{среднее арифметическое и перенос в массив В}
 end;
end;

procedure  VyvodMassiveA;
var i:integer;
begin
  WriteLn('Massive A: ');
  For i:=1 to n do Write(A[i]:7);{вывод первого массива}
  Writeln;
end;


procedure  VyvodMassiveB;
var i:integer;
begin
  WriteLn('Massive B: ');
  For i:=1 to n do Write(B[i]:7:2);{вывод второго массива}
  Writeln;
end;

Begin
  ClrScr; 

  VvodMassivA;

  ZapolnitMassivB;

  VyvodMassiveA;

  VyvodMassiveB;

  Readln;
End.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан вектор А(n). Получить новый вектор путем умножения элементов стоящих за максимальным элементом на минимальный элемент вектора pavel215 Паскаль, Turbo Pascal, PascalABC.NET 1 02.04.2013 14:30
Сформировать массив: элемент B[K] равен среднему арифметическому элементов массива A с номерами от 1 до K Pomogite_pls Общие вопросы C/C++ 5 28.02.2012 04:11
1) В массиве элемент с нечётным индексом переставить местами 2) по вещественной квадратной матрице построить вектор ЖунькООО Помощь студентам 1 10.10.2011 11:16
Построить вектор, каждый элемент которого равен наибольшему количеству равных элементов в соответствующей abakuz Помощь студентам 0 28.05.2011 18:08
Для прямоугольной матрицы построить вектор В с номерами максимальных значений строк (Паскаль)-проверить Марьянка Помощь студентам 1 02.04.2011 00:14