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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 19:21   #1
Snowwa
 
Регистрация: 14.12.2010
Сообщений: 3
По умолчанию Одномерный массив

Ребят, можете посмотреть в чем ошибка?
Условие такое: Сформировать массив B=(b1,b2..bk) записав в него элементы массива A=(a1,a2...an) с четными индексами. Вычислить среднее арифметическое элементов массива B и удалить из него A(n-ый элемент)

Вот мой вариант
program m2;
var A:array [1..100] of real;
B:array [1..100] of real;
s:real;
i,num,n,k:integer;
begin
writeln('vvesti kol-vo elemntov massiva A');
readln(k);
writeln('enter massiv A');
num:=0;
for i:=1 to k do begin
read(A[i]);
for i:=1 to k do
if i div 2=0 then
begin num:=num+1;
B[num]:=A[i];
end;
S:=0;
end;
writeln('nov mas');
for i:=1 to num do begin
write(B[i]:5:2,' ');
S:=S+B[i];
end;
S:=S/k;
S:=S-A[n];
writeln;
writeln('Cr.arifmetich. massiva B-A(n)');
writeln(S:5:2);
end.

Проблема в том что например если я введу 5 элементов , то он выведет 2 четных и потом продолжает выводить нули.. Подскажете чего может?
Snowwa вне форума Ответить с цитированием
Старый 19.12.2010, 21:03   #2
Marques22
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 15
По умолчанию

program m2;
var A:array [1..100] of real;
B:array [1..100] of real;
s:real;
i,num,n,k:integer;
begin
writeln('vvesti kol-vo elemntov massiva A');
readln(k);
writeln('enter massiv A');
num:=0;
for i:=1 to k do
read(A[i]);
for i:=1 to k do
if i mod 2=0 then
begin num:=num+1;
B[num]:=A[i];
end;
S:=0;
writeln('nov mas');
for i:=1 to num do
begin
write(B[i],' ');
S:=S+B[i];
end;
S:=S/num;
writeln;
writeln('Srednee arifmeticheskoe:',S);
readln;
writeln('vvedite element dlay udaleniay');
readln(n);
for i:=1 to num do
if(i<=n)then a[i]:=a[i+1];
a[num]:=0;
for i:=1 to num-1 do
write(b[i],' ');
readln

end.
Marques22 вне форума Ответить с цитированием
Старый 19.12.2010, 21:04   #3
Marques22
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 15
По умолчанию

не стал исправлять прост немного переделал надеюсь норм
Marques22 вне форума Ответить с цитированием
Старый 20.12.2010, 23:35   #4
Snowwa
 
Регистрация: 14.12.2010
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Marques22 Посмотреть сообщение
не стал исправлять прост немного переделал надеюсь норм
Даа, спасибо так намного лучше Чуток подкорректирую )
Snowwa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одномерный массив , двухмерный массив Woxx Паскаль, Turbo Pascal, PascalABC.NET 0 10.09.2010 09:28
Одномерный массив. Q basic - Построить новый массив из элементов исходного ,которые больше P. Marishkaa Помощь студентам 2 12.01.2010 16:54
Двумерный массив, одномерный массив. Branbal Помощь студентам 14 18.11.2009 12:40
Одномерный массив. Dmitrij Паскаль, Turbo Pascal, PascalABC.NET 1 28.11.2008 19:54
Одномерный массив Sirega Паскаль, Turbo Pascal, PascalABC.NET 6 27.11.2008 21:21