Помощь - Поиск - Пользователи - Календарь
Полная версия: Сформировать массив
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи > Задачи на заказ
Борис
Дан массив С[M,N], m и n<=10
Сформировать одномерный массив A[n] где каждый элемент соответствует среднему геометрическому элементов соответствующих столбцов!
Напишите полный код плиз, очень срочно

готов заплатить 200 рублей за неё

нужно сделать с процедурами и функцией
Борис
ну что? никто не хочет 7 wmz?
Shura
Я хочу! smile.gif Я сделаю.
Борис
мне её прямо сейчас нужно сделать, очень срочно
sinys
Отклонено
Борис
млин я не дома, а тут аськи нет, давайте ребят, срочняк, кто-нить!!
sinys
Цитата(Борис @ 11.01.2006 12:57) *

соответствует среднему геометрическому элементов соответствующих столбцов!

что значит среднему геометрическому?

то есть сложить все элементы в столбце и разделить на m?
Борис
да, только почему на m, столбцы же n, или нет?
sinys
Цитата(Борис @ 11.01.2006 13:04) *

да, только почему на m, столбцы же n, или нет?

m это кол-во элементов в стобце

скажи почту
Борис
<censored>
sinys
Цитата(Борис @ 11.01.2006 13:09) *
<censored>

проверь почту, послал экзешник, исходники после оплаты, номер кошелька в письме
Борис
мля, как я те щас оплачу??
я в универе сижу
я те отвчаю что все заплачу, 8-9065042422
моя мобила! если что, и аська 665834


вставь исходники плиз, я на экзамене щас, ты в москве?
sinys
Цитата(Борис @ 11.01.2006 13:28) *

мля, как я те щас оплачу??
я в универе сижу
я те отвчаю что все заплачу, 8-9065042422
моя мобила! если что, и аська 665834
вставь исходники плиз, я на экзамене щас, ты в москве?

var
a : array[1..10,1..10] of integer;
b : array[1..10] of real;
m,n,i,j : integer;
begin
writeln('VNIMANIE PROGRAMMA SDELANA NA ZAKAZ I NE OPLACHENA');
writeln('vvedite razmernost matrici M i N');
readln(m);
readln(n);
writeln('zapolnite massiv');
for i:=1 to m do
begin
for j:=1 to n do
begin
read(a[i,j]);
end;
end;
writeln('matrix');
for i:=1 to m do
begin
for j:=1 to n do
begin
Write(a[i,j],' ');
end;
writeln;
end;
for i:=1 to n do b[i]:=0;
for i:=1 to n do
Begin
for j:=1 to m do b[i]:=b[i]+a[j,i];
b[i]:=B[i] / m;
end;
writeln('elementi poluchennogo massiva');
for i:=1 to n do writeln(b[i]:5:2);
writeln('VNIMANIE PROGRAMMA SDELANA NA ZAKAZ I NE OPLACHENA');
readln;
readln;
end.



Обязательно заплати, а то ведь найду
Борис
блин, я же написал, что нужно сделать с процедурами и функцией!!!!!
volvo
sinys, ты бы прежде чем задачи на заказ делать, арифметику бы выучил... mad.gif Среднее геометрическое - это корень N-ой степени из произведения N элементов, а то что ты сделал - среднее арифметическое. Почувствуй разницу... Задача решена неверно.

Борис, можешь не оплачивать...
Борис
народ, с процедурами и функцией!!! АААААААА, так я и сам сделал. над обязаловка процедуры с функциями
volvo
На будущее... Личную переписку устраивайте по PM...
Борис
volvo, по мойму наоборот.
СДЕЛАЙТЕ С ПРОЦЕДУРАМИ И ФУНКЦИЕЙ ПОЖАЛУЙСТА

Ты что, со мной спорить собрался? Открой любой справочник...

верю! +)
сделает кто-нибудь?
sinys
Цитата(Борис @ 11.01.2006 13:39) *

блин, я же написал, что нужно сделать с процедурами и функцией!!!!!

var
a : array[1..10,1..10] of integer;
b : array[1..10] of real;
m,n,i,j : integer;

procedure vvod(m: integer;n : integer);
begin
writeln('zapolnite massiv');
for i:=1 to m do
begin
for j:=1 to n do
begin
read(a[i,j]);
end;
end;
end;

procedure vivod(m: integer;n : integer);
begin
writeln('matrix');
for i:=1 to m do
begin
for j:=1 to n do
begin
Write(a[i,j],' ');
end;
writeln;
end;
end;

function raschet(m: integer;i:integer): real;
var j : integer;
begin
for j:=1 to m do b[i]:=b[i]+a[j,i];
raschet:=B[i] / m;
end;


begin
writeln('VNIMANIE PROGRAMMA SDELANA NA ZAKAZ I NE OPLACHENA');
writeln('vvedite razmernost matrici M i N');
readln(m);
readln(n);
vvod(m,n);
vivod(m,n);
for i:=1 to n do b[i]:=0;
writeln('elementi poluchennogo massiva');
for i:=1 to n do writeln(raschet(m,i):5:2);
writeln('VNIMANIE PROGRAMMA SDELANA NA ZAKAZ I NE OPLACHENA');
readln;
readln;
end.
Борис
Volvo
сделай ты пожалуйста!

sinys, спасибо
sinys
блин, ну ведь спрашивал ведь
Ozzя
Цитата
for j:=1 to m do b[i]:=b[i]+a[j,i];
raschet:=B[i] / m;

Цитата
Среднее геометрическое - это корень N-ой степени из произведения N элементов, а то что ты сделал - среднее арифметическое.
Борис
sinysты в москве?
Ozzя
Код
for j:=1 to m do
b[i]:=b[i]*a[j,i];
raschet:=Exp((1/m)*Ln(B[i]));
Борис
а Exp(ln(B[i]/m))
не одно и тоже?
sinys
народ, а нет клиента для этого форума? а то жрет много
Ozzя
Корень m-той степени из числа - это число в степени 1/m
http://forum.pascal.net.ru/index.php?s=&sh...indpost&p=38227
coder
ну что задача все еще нужна? или volvo уже решил?
Борис
Цитата
program exzamen;
uses crt;
var
A : array[1..10,1..10] of integer;
B : array[1..10] of real;
m,n,i,j : integer;

procedure vvod(m: integer;n : integer);
begin
randomize;

for i:=1 to m do
begin
for j:=1 to n do
begin
A[i,j]:=random(100);

end;
end;
end;

procedure vivod(m: integer;n : integer);
begin
writeln('matrix');
for i:=1 to m do
begin
for j:=1 to n do
begin
Write(' ',A[i,j],' ');
end;
writeln;
end;
end;

function raschet(m: integer;i:integer): real;
var j : integer;
begin
for j:=1 to m do b[i]:=b[i]+a[j,i];
raschet:=exp(ln(B[i]/m));
end;


begin


clrscr;

vvod(m,n);
vivod(m,n);
for i:=1 to n do b[i]:=0;
writeln('elementi poluchennogo massiva');
for i:=1 to n do
writeln(raschet(m,i):5:2);

readln;
readkey;
end.

где ошибка, почему не рандомит, тобишь не выводит
Ozzя
Код
for i:=1 to m do
begin
for j:=1 to n do

тут
Чему равны n,m?
0
Борис
Цитата(Ozzя @ 11.01.2006 14:47) *

Код
for i:=1 to m do
begin
for j:=1 to n do

тут
Чему равны n,m?
0

добавил ввод M и N
но все равно ничего не выводит

ну есть мысли?
Ozzя
Код
begin


clrscr;
n:=5;
m:=5;
vvod(m,n);
vivod(m,n);
readln;
for i:=1 to n do b[i]:=0;
writeln('elementi poluchennogo massiva');
for i:=1 to n do
writeln(raschet(m,i):5:2);

readln;

end.

Вот такой вариант отлично работает
Борис
Цитата
program exzamen;
uses crt;
var
A : array[1..10,1..10] of integer;
B : array[1..10] of real;
m,n,i,j : integer;

procedure vvod(m: integer;n : integer);
begin
randomize;
writeln('enter M');
readln(m);
writeln('enter N');
readln(n);
for i:=1 to m do
begin
for j:=1 to n do
begin
A[i,j]:=integer(random(100)-50);

end;
end;
end;

procedure vivod(m: integer;n : integer);
begin
writeln('matrix');
for i:=1 to m do
begin
for j:=1 to n do
begin
Write(' ',A[i,j],' ');
end;
writeln;
end;
end;

function raschet(m: integer;i:integer): real;
var j : integer;
begin
for j:=1 to m do b[i]:=b[i]+a[j,i];
raschet:=exp((1/m)*ln(B[i]));
end;


begin


clrscr;

vvod(m,n);
vivod(m,n);
readln;
for i:=1 to n do b[i]:=0;
writeln('elementi poluchennogo massiva');
for i:=1 to n do
writeln(raschet(m,i):5:2);

readln;

end.

readln;
readkey;
end.


а у мня что не так, не выводит ничего
Ozzя
Сообщения об ошибках есть?
В чем пишешь? БП7?
Борис
Цитата(Ozzя @ 11.01.2006 15:03) *

Сообщения об ошибках есть?
В чем пишешь? БП7?

просто после ввода m и n ничего не выводит
Ozzя
ХЗ тогда mega_chok.gif
У меня все прекрасно отработало.
А как не выводит? Экран мигнул и погас, или пустой экран и ждет нажатия на клавишу?
Борис
ну вставь плиз, всю прогу целиком
Ozzя
Так она твоя и есть две строки добавил
Код
program exzamen;
uses crt;
var
A : array[1..10,1..10] of integer;
B : array[1..10] of real;
m,n,i,j : integer;

procedure vvod(m: integer;n : integer);
begin
randomize;

for i:=1 to m do
begin
for j:=1 to n do
begin
A[i,j]:=random(100);

end;
end;
end;

procedure vivod(m: integer;n : integer);
begin
writeln('matrix');
for i:=1 to m do
begin
for j:=1 to n do
begin
Write(' ',A[i,j],' ');
end;
writeln;
end;
end;

function raschet(m: integer;i:integer): real;
var j : integer;
begin
for j:=1 to m do b[i]:=b[i]+a[j,i];
raschet:=exp(ln(B[i]/m));
end;


begin


clrscr;
n:=5;
m:=5;
vvod(m,n);
vivod(m,n);

for i:=1 to n do b[i]:=0;
writeln('elementi poluchennogo massiva');
for i:=1 to n do
writeln(raschet(m,i):5:2);

readln;

end.




То что то выводит
Цитата
matrix
22 34 8 78 42
50 4 35 9 15
34 14 99 3 14
61 58 58 96 26
47 41 89 50 72
elementi poluchennogo massiva
42.80
30.20
57.80
47.20
33.80



for j:=1 to m do b[i]:=b[i]+a[j,i];
поменяй на
for j:=1 to m do b[i]:=b[i]*a[j,i];
klem4
Нарушение правил форума :

1.12, 9, 5

+ флейм

закрыто.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.