Программа формирования из вектора - Turbo Pascal
Формулировка задачи:
Задание собственно такое: Составить программу формирования из вектора A={ai}, i=1/3n вектора B={bi}, i=1/n, очередная компонента которого равна среднему арифметическому очередной тройки компонент вектора.
вот сама программа:
Собственно проблема у меня в ответе , вернее в нулях между средними арифметическими, помогите исправить, очень прошу, нужно избавится от этих лишних нулей, что только не перепробывал, может вы знаете в чем ошибка!
Решение задачи: «Программа формирования из вектора»
textual
Листинг программы
program Roma;
uses crt;
var
k, i, n: integer;
a, b: array[1..100] of real;
begin
writeln('vvedite n');
readln(n);
writeln('vvedite a[i]');
for i := 1 to n do
read(a[i]);
writeln;
i := 1;
k := 1;
while i < n do
begin
b[k] := (a[i] + a[i + 1] + a[i + 2]) / 3;
i := i + 3;
inc(k);
end;
writeln('Массив B');
for i := 1 to k - 1 do
writeln(b[i]:6:2);
readln;
end.
Объяснение кода листинга программы
- В программе используется язык программирования Turbo Pascal.
- Создается программа
Roma, которая использует библиотеку crt. - Объявляются переменные: k, i, n - целые числа, a, b - массивы из 100 элементов типа real.
- Выводится сообщение
vvedite n, затем считывается значение переменной n. - Выводится сообщение
vvedite a[i], затем считываются значения 100 элементов массива a. - Инициализируются переменные i и k, и начинается цикл while, который выполняется, пока i меньше n.
- Внутри цикла вычисляется среднее значение трех соседних элементов массива a и записывается в элемент массива b с индексом k.
- Увеличивается значение переменной i на 3, и значение переменной k увеличивается на 1.
- По завершении цикла выводится сообщение
Массив B. - Выводится сообщение
vvedite a[i], затем считывается значение переменной i. - Выводится сообщение
vvedite b[k], затем выводится значение элемента массива b с индексом k. - Выводится сообщение
readln, чтобы пользователь мог выйти из программы. - Программа завершается.