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

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

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

> Упорядочить матрицу.Проблема, Есть почти готовая программа,но нет главной формулы
djdenisoff
сообщение 7.10.2011 17:24
Сообщение #1





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

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


Используя подпрограммы и динамические переменные решить задачу:
в текстовом файле находятся размеры прямоугольной матрицы и сама матрица.во втором текстовом файле находится информация о номерах строк.Нужно упорядочить строки в соответствии с порядком,приведённом во втором текстовом файле


есть отрывок небольшой

Program lol;
uses crt;
type radoc = array [1..1] of integer;
Pradoc = ^radoc;
Ptrmas = array [1..1] of Pradoc;
Ptr = ^Ptrmas;
var
A,R:Ptr;
B:Pradoc;
n,m: integer;
f,t: text;
{function swap(A:Ptr; i,k:integer):Ptr;
begin
P:=A^[i];
A^[i]:=A^[k];
A^[k]:=P;
end;}
procedure Getmemory(var A:Ptr; n,m: integer);
var i: integer;
begin
GetMem(A,n*SizeOf (Ptr));
for i:= 1 to n do
GetMem (A^[i], m*SizeOf (integer));
end;

procedure FreeMemory(var A:Ptr; n,m: integer);
var i: integer;
begin
for i:=1 to n do
FreeMem (A^[i], m*SizeOf (integer));
FreeMem (A, n*SizeOf (Ptr));
end;
procedure Init (var A:Ptr; namet:string; var n,m:integer);
var t:text;
i,j: integer;
begin
assign (t,namet);
reset(t);
read (t,n,m);
for i:=1 to n do
for j:=1 to m do
read (t, A^[i]^[j]);
close(t);
end;
procedure InitB (var B:Pradoc; namef:string; var n:integer);
var f:text;
i: integer;
begin
assign (f,namef);
reset(f);
for i:=1 to n do
read (f, B^[i]);
close(f);
end;
procedure Show(A:Ptr; n,m:integer);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
write (A^[i]^[j]);
writeln;
end;
procedure Work(var A:Ptr; B:Pradoc; n,m: integer);
var k,i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
if A^[i]^[j] = B^[i] then
begin
k:=i;
break;
end;
end;
begin
clrscr;
assign(f,'f.txt');
reset(f);
read(f,m,n);
close(f);
getmemory(A,n,m);
getmem(B,n*);
initB(B,'t.txt',n);
init(A,'f.txt',n,m);
Writeln('_________')
show(A,n,m);
writeln;
readln;
freememory(A,n,m);
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



- Текстовая версия 21.06.2025 12:05
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"