IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите создать процедуру
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Здравствуйте.Проблема вот в чем:
есть часть кода программы:
minz:=z[1];
iter:=1;
For i:=1 to m+n do begin
If (minz>z[i]) and (z[i]<>0) then begin minz:=z[i];
iter:=i;
end;
end;

For i:=1 to m do begin
If (a[i,iter]<>0) then x[i]:=a[i,m+n+1]/a[i,iter];
end;
For i:=1 to m do begin
If (x[i]>0) then begin min:=x[i];break;
end;
end;
k:=1;
For i:=1 to m do begin
If (min>x[i]) and (x[i]>0) then begin min:=x[i];
k:=i;
end;
end;
index[ind]:=k;
index1[ind]:=iter;
ix:=a[k,iter];
For j:=1 to m+n+1 do begin
a2[k,j]:=a[k,j]/ix;
end;
For i:=1 to m do begin
For j:=1 to m+n+1 do begin
If i<>k then a2[i,j]:=a[i,j]-a[i,iter]*a2[k,j];
end;
end;
For i:=1 to m do begin
For j:=1 to m+n+1 do begin
a[i,j]:=a2[i,j];
end;
end;
For i:=1 to m+n+1 do begin
z1[i]:=z[i]-z[iter]*a[k,i];
end;
For i:=1 to m+n+1 do begin
z[i]:=z1[i];
end;

Его нужно перегнать в procedure.Если нужно,то могу выложить полностью программу.Очень нужна помощь,так как у самого перегнать не получилось...

Сообщение отредактировано: V1P -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
Его нужно перегнать в procedure


А что у тебя не получается ? Описываешь шапку процедуры, параметры которые будет в ней изменяться передаешь с приставкой VAR.

Например нам нужно обнулить i-й элементы массива X размерностью n

type
TArray = array [1..100] of Integer;

procedure Zero(VAR x: TArray; const n: Integer; const i: Integer);
begin
if i <= n then x[i] := 0;
end;

var
x: TArray;
n, i: Integer;

begin
n := 10;

for i := 1 to n do x[i] := i;
Zero(x, n, 1);
// теперь первый элемент массива = 0
for i := 1 to n do writeln(x[i]);
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Procedure gaus(var amas;var ind,n,m:integer;var zkr:array of real;
var amas2;var zkr1:array of real;var indexk,indexi:array of integer);
var
x:array[1..20] of real;
ix,min,minz:real;
type b=array [1..100,1..100] of real;
type f=array [1..100] of integer;
begin
minz:=zkr[1];
iter:=1;
For i:=1 to m+n do begin
If (minz>zkr[i]) and (zkr[i]<>0) then begin minz:=zkr[i];
iter:=i+1;
end;
end;

For i:=1 to m do begin
If (b(amas)[i,iter]<>0) then x[i]:=b(amas)[i,m+n+1]/a[i,iter];
end;
For i:=1 to m do begin
If (x[i]>0) then begin min:=x[i];break;
end;
end;
k:=1;
For i:=1 to m do begin
If (min>x[i]) and (x[i]>0) then begin min:=x[i];
k:=i;
end;
end;
indexk[ind]:=k;
indexi[ind]:=iter;
ix:=b(amas)[k,iter];
For j:=1 to m+n+1 do begin
b(amas2)[k,j]:=b(amas)[k,j]/ix;
end;
For i:=1 to m do begin
For j:=1 to m+n+1 do begin
If i<>k then b(amas2)[i,j]:=b(amas)[i,j]-b(amas)[i,iter]*b(amas2)[k,j];
end;
end;
For i:=1 to m do begin
For j:=1 to m+n+1do begin
b(amas)[i,j]:=b(amas2)[i,j];
end;
end;
For i:=1 to m+n do begin
zkr1[i]:=zkr[i]-zkr[iter]*a[k,i];
end;
For i:=1 to m+n do begin
zkr[i]:=zkr1[i];
end;
end;

В процедуру я должен передавать данные из массивов - А,Z, и переменных ind,n,m
Полученные результаты после процедуры я должен записывать в массивы:A,Z,Index,Index1
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 8
Пол: Мужской

Репутация: -  0  +


Проблему решил.Тему можно закрывать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 18:09
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name