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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2010, 13:56   #1
irina belka
 
Регистрация: 05.12.2010
Сообщений: 6
По умолчанию процедуры и функции при работе с массивами

помогите пожалуйста, не могу исправить ошибку
задача
ввести число n>3 и вещественные компоненнты 4х векторов
а=а1,а2,..аn, в=в1,в2...вn c=с1,с2...сn д=д1,д2...дn
вычислить y=sqrt(sqr(e)+sqr(f)+sqr(g)+sqr(h))
e= а1*а2*..аn g=с1*с2*...сn
f= в1*в2*...вn h=д1*д2*...дn

моя попытка(((
program sort;
uses crt;
var y:real;
type vektor=array[1..999] of real;
var n,i:integer;
a,b,c,d:vektor;
e,f,g,h:integer;
procedure vvod(k:integer; var x:vektor);
begin
writeln('Vedit vektor');
for i:=1 to n do
read(x[i]);
end;
function um(a:vektor;n:integer):real;
var m:real;
begin
m:=1;
for i:=1 to n do
m:=a[i]*m;
um:=m;
end;
begin
writeln('vvedi n');
readln(n);
if n>3 then begin
vvod(n,a);
vvod(n,b);
vvod(n,c);
vvod(n,d);
end else writeln ('oschibka! vvedi n>3');
begin
e:=um(a,n);
f:=um(b,n);
g:=um(c,n);
h:=um(d,n);
end;
begin
y:=sqrt(sqr(e)+sqr(f)+sqr(g)+sqr(h) );
writeln('y=',y:10:4);
readln;
end;
end.
irina belka вне форума Ответить с цитированием
Старый 12.12.2010, 16:33   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
type vektor=array[1..999] of real;
var n:integer;
a,b,c,d:vektor;
Y:Real;
procedure vvod(k:integer; var x:vektor);
Var
  i:Byte;
begin
writeln('Vedit vektor');
for i:=1 to n do
read(x[i]);
end;
function um(P:vektor;n:integer):real;
var m:real;
    i:Byte;
begin
m:=1;
for i:=1 to n do
Begin
  m:=m*P[i];
End;
um:=m;
end;
begin
writeln('vvedi n');
readln(n);
if n>3 then begin
vvod(n,a);
vvod(n,b);
vvod(n,c);
vvod(n,d);
y:=sqrt(sqr(Um(a,n))+sqr(Um(b,n))+sqr(Um(c,n))+sqr(Um(d,n)) );
Readln
End
Else
Writeln('Oshibka');
Writeln('y = ',y:10:4);
readln;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переполненние стека при работе с массивами max&ilja Помощь студентам 2 22.12.2009 22:03
Функции и процедуры в работе с массивами Qwerty91 Помощь студентам 0 13.12.2009 14:22
Программа по работе с массивами Kamikadze_666 Общие вопросы C/C++ 2 16.12.2008 18:29
Вызов процедуры при обьявлении функции ivannikov Общие вопросы Delphi 6 12.03.2008 13:20