Новые сообщения · Правила  
Страница 1 из 812378»
Модератор форума: Berestovskiy 
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Задачи с массивами
Задачи с массивами
Дана квадратная матрица A(m*m).Получить матрицу B по правилу

Ai,j/S, i>j,
Bi,j= { 0, i=j,
S/Ai,j, i<j
где S-произвеление диаганальных элементов матрицы A.Значение m ввести с клавиатуры. Использовать не менее одной процедуры и не менее одной функции.
Алгоритм подпрограмм оформить отдельно, в месте вызова подпрограммы в основном алгоритме добавить блок «Вызов функции <название> (<фактические параметры>)».
Работу выполнить с использованием Pascal.
Помогите пожалуйста.
1 | Автор: jenyaJ | 2012-05-28, 15:33   |  Репутация: [ + 0 ]
Пример ввода-вывода в студию

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
2 | Автор: Berestovskiy | 2012-05-29, 11:55   |  Репутация: [ + 211 ]
Code
program kr;
uses crt;
type matr= array[1..20,1..20] of real;

procedure Vvod(var m1:matr;var x:byte);
var i,j:byte;
begin
write( Razmer matrix= ');
readln(x);
writeln('Icxodnay matrix A:');
for i:=1 to x do
begin
for j:=1 to x do
begin
m1[i,j]:=10*random;
write(m1[i,j]:5:2);
end;
writeln;
end;
end;

function Proiz(m1:matr;x:byte):real;
var i:byte;
p:real;
begin
p:=1;
for i:=1 to x do
p:=p*m1[i,i];;
Proiz:=p;
end;

procedure New(m1:matr;x:byte;var m2:matr);
var i,j:byte;
begin
writeln('Cozdannay matrix В:');
for i:=1 to x do
begin
for j:=1 to x do
begin
if i > j then m2[i,j]:=m1[i,j]/Proiz(m1,x);
if i=j then m2[i,j]:=0;
if i < j then m2[i,j]:=Proiz(m1,x)/m1[i,j];
     write(m2[i,j]:10:4);
end;
writeln;
end;
end;

var a,b:matr;
n:byte;
begin
clrscr;
Vvod(a,n);
writeln(proizvedenie dioganalnblx elementov=',Proiz(a,n):0:2);
New(a,n,b);
readln
end.

Изначально был сделан этот алгоритм но вернули на дороботку с таким пояснением: "Алгоритм подпрограмм оформить отдельно, в месте вызова подпрограммы в основном алгоритме добавить блок «Вызов функции <название> (<фактические параметры>)»."
Подскажите пожалуйста как это сделать?
3 | Автор: jenyaJ | 2012-05-29, 17:35   |  Репутация: [ + 0 ]
В гугле вбиваешь "Процедуры и Функции Pascal", а там думаю разберёшься:)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
4 | Автор: Berestovskiy | 2012-05-30, 14:54   |  Репутация: [ + 211 ]
В том то и дело что не могу разобратся, уже весь интернет просмотрела. Подскажите пожалуйста где надо исправить.
5 | Автор: jenyaJ | 2012-05-30, 17:00 | Изменено: jenyaJ - Ср, 2012-05-30, 17:50   |  Репутация: [ + 0 ]
Исправлять нигде не нужно.., просто основные действия алгоритма выносишь в функцию, а в основной программе вызываешь эту функцию, вот и всё:)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
6 | Автор: Berestovskiy | 2012-06-01, 09:43   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
6 | Автор: Berestovskiy | 2012-06-01, 09:43   |  Репутация: [ + 211 ]
Все таки у меня не получается(
7 | Автор: jenyaJ | 2012-06-01, 13:04   |  Репутация: [ + 0 ]
двe проги. 1.Суммa квaдрaтов элeмeнтов мaссивa зaполнeниe мaссивa произвeсти случaйными цeлыми числaми из -2,3. 2.Зaполнить всe элeмeнты,большиe послeднeго нa eдиницы. Зaполнeниe мaссивa произвeсти с клaвиaтуры.
8 | Автор: Gelw | 2012-06-01, 22:30   |  Репутация: [ + 0 ]
кол-во положитeльных элeмeнтов мaссивa зaполнeниe произвeсти случaйными цeлыми числaми из -6,8
9 | Автор: Gelw | 2012-06-01, 22:35   |  Репутация: [ + 0 ]
Что именно не получается?

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
10 | Автор: Berestovskiy | 2012-06-02, 15:46   |  Репутация: [ + 211 ]
ранее давал ответ, по-моему тебе же

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
11 | Автор: Berestovskiy | 2012-06-02, 15:49   |  Репутация: [ + 211 ]
отвечал

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
12 | Автор: Berestovskiy | 2012-06-02, 15:50   |  Репутация: [ + 211 ]
Какие основные действия алгоритма надо вынести в функцию, и как вызвать функцию.
13 | Автор: jenyaJ | 2012-06-02, 17:31   |  Репутация: [ + 0 ]
тaм другоe было лaдно попробую по примeру сдeлaть.
14 | Автор: Gelw | 2012-06-03, 08:08   |  Репутация: [ + 0 ]
Все действия нужно выводить в функцию, а в основном блоке программы вызываешь её, вызвать её можно по её названию, например:

MySuperFunction(a,a1,a2,a3);

Вот так)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
15 | Автор: Berestovskiy | 2012-06-03, 11:09   |  Репутация: [ + 211 ]
ок)

если выйдет - выложи сюда код, вдруг кому-нибудь поможет)


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
16 | Автор: Berestovskiy | 2012-06-03, 11:10   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
16 | Автор: Berestovskiy | 2012-06-03, 11:10   |  Репутация: [ + 211 ]
тут другоe
17 | Автор: Gelw | 2012-06-03, 11:15   |  Репутация: [ + 0 ]
В смысле?)

Нужна помощь? Сюда: vkontakte.ru/berestovskiy
18 | Автор: Berestovskiy | 2012-06-03, 11:24   |  Репутация: [ + 211 ]
тут зaдaниe другоe
19 | Автор: Gelw | 2012-06-03, 11:29   |  Репутация: [ + 0 ]
Quote (Gelw)
1.Суммa квaдрaтов элeмeнтов мaссивa зaполнeниe мaссивa произвeсти случaйными цeлыми числaми из -2,3.


var
s,i,n,a:integer;
begin
read(n);
for i:=1 to n do begin
a:=random(3);
s:=s+a*a;end;
end.

Quote (Gelw)
2.Зaполнить всe элeмeнты,большиe послeднeго нa eдиницы. Зaполнeниe мaссивa произвeсти с клaвиaтуры.


var
a:array[1..100]of integer;
i,n:integer;
begin
read(n);
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do
if a[i]<a[n] then a[i]:=1;
end.

"Спасибо" принимается повышением репутации ( Зелёный плюсик:).Спасибо


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
20 | Автор: Berestovskiy | 2012-06-03, 12:33   |  Репутация: [ + 211 ]


Нужна помощь? Сюда: vkontakte.ru/berestovskiy
20 | Автор: Berestovskiy | 2012-06-03, 12:33   |  Репутация: [ + 211 ]
Форум ПРОГРАММИСТОВ » ПРОГРАММИРОВАНИЕ » Паскаль » Задачи с массивами
Страница 1 из 812378»
Поиск: