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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2012, 22:59   #1
Akcentbek
Пользователь
 
Регистрация: 19.01.2012
Сообщений: 38
По умолчанию паскаль

непонимаю это\\


как пользоваться указателями крышка справа крышка слева что есть что ?
эта программа выводит элемент строки встречающися в наиболшем количестве столбцов
нашел пргу в компе у одного старшака
ничо непомнит да и свои проблемы))

может ли кто канкретно модуль sravnenie
написать без этих крышечек тобиш указателей норм переменными которыми оперирует стандартный чаиник))


Код:

program lr2;

uses
  crt;

const
  TAB = '  ';
  Pro = '  ';
  Pro1 = ' ';
  mmax = 50;
  nmax = 50;
  RAND_MAX = 1000;
 width = 6;
Type
 TElem = single;
Tline = array[1..100] of Telem;
 Pline = ^Tline;  
 TCol = array[1..100] of Pline;
 PCol = ^TCol;  
Matrix = record
  a: PCol;
 nrow, ncolumn: integer
 end;
TListNodePtr = ^TListNode;
	TListNode = record
	m: Matrix;
	next: TListNodePtr
	end;
	TMatrixList = record
	head, tail: TListNodePtr
	end;

procedure sravnenie(const a: Matrix; var res: TElem);
Type
 Tmas=array [1..100] of TElem;
 Pmas=^Tmas;
var
 i, j, k, l, ncolumn, nrow: integer;
 lmax: Telem;
 B: Pmas;
begin
repeat
Write('nomer stroki =',' '); readln(ncolumn);
until (IOResult=0) and (ncolumn>0) and (ncolumn<=101);
getmem(B, A.ncolumn*sizeof(Telem));
For j:=1 to A.ncolumn do
B^[j]:=0;
begin
  for i:=1 to A.nrow do
  if A.a^[k]^[j] = A.a^[i]^[j] then
  B^[j]:= B^[j]+1;
end;
l:= 0;
lmax:= -1;
for j:=1 to A.ncolumn do
if B^[j] > lmax then
 begin
 lmax:= B^[j];
 l:= j;
 end;
res:= A.a^[k]^[l];
freemem(B, A.ncolumn*sizeof(TElem));
end;
function ReadMatrixFromFile(var A: Matrix): boolean;
var
 i, j, nrow, ncolumn, QuantBlock: integer;
 f: file;
 fname: string;
begin
  ReadMatrixFromFile := false;
 {$I-} repeat
 write('Enter filename: ');
 readln(fname);
 Assign(f, fname);
 Reset(f, 1)
 until IOResult = 0;
 BlockRead(f, nrow, sizeof(integer), QuantBlock);
 {$I+}
 if QuantBlock <> sizeof(integer) then begin
 {$I-} Close(f); {$I+} exit
 end;
 {$I-}
 BlockRead(f, ncolumn, sizeof(integer), QuantBlock);
 {$I+}
 if (QuantBlock <> sizeof(integer)) or (nrow < 1) or (ncolumn < 1) then begin
 {$I-}
 Close(f);
 {$I+}
 exit
 end;
 NewMatrix(A, nrow, ncolumn);
 for i := 1 to nrow do
 for j := 1 to ncolumn do begin
 {$I-}
 BlockRead(f, A.a^[i]^[j], sizeof(Telem), QuantBlock);
 {$I+}
 if QuantBlock <> sizeof(Telem) then begin
 DisposeMatrix(A);
 {$I-}
 Close(f);
 {$I+}
  exit
  end
  end;
  {$I-}
  Close(f);
  {$I+}
  ReadMatrixFromFile := true
end;
Akcentbek вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль, Борланд Паскаль-в чем разница??? Vremya-Dengy Паскаль, Turbo Pascal, PascalABC.NET 13 31.05.2011 18:23
паскаль и турбо паскаль Евгения Игоревна Помощь студентам 6 05.05.2011 14:31
паскаль Александр ето я Паскаль, Turbo Pascal, PascalABC.NET 0 26.05.2009 17:43