PDA

Просмотр полной версии : паскаль, вы программер?


rubik-nerubik
03.12.2007, 20:45
собственно вот, есть задача, но она написана ппц, в непонятнном языке))) я имую навыки только школьного паскаля, так что понять неавозможно
{ From : Vadim Serov 2:5077/36.35 26.10.97
Subj : ЋЇаҐ¤Ґ«Ґ*ЁҐ ‘Ґ¤«®ў®© ’®зЄЁ ў Њ*ваЁжҐ
}
const
MAX=20;

type
line=Array[1..MAX] of Extended;

var
smin:Extended;
imin:Integer;
i,j,n,m:Integer;
x:Array[1..MAX] of line;
buf:line;
juf:Array[1..MAX] of Integer;
inp:Text;

begin
Assign(inp,'matrix.txt');
Reset(inp);
Read(inp,n,m);{Є®«ЁзҐбвў® бвp®Є Ё бв®«Ўж®ў}
if (MAX<n) or (MAX<m) then
Write('*Ґ¦Ґ«*о бзЁв*вм! ')
else begin
for i:=1 to n do
for j:=1 to m do
Read(inp,x[i][j]);

for i:=1 to n do begin
buf[i]:=x[i][1];
juf[i]:=1;
for j:=2 to m do
if buf[i]<x[i][j] then begin
buf[i]:=x[i][j];
juf[i]:=j
end
end;
smin:=buf[1];
for i:=2 to n do begin
if smin>buf[i] then begin
smin:=buf[i];
imin:=i
end
end;

Writeln;
Write('‘Ґ¤«®ў*п в®зЄ* x=',juf[imin],' y=',imin)
end;
Close(inp)
end.



вот задание буцдет видно в самом паскале, про седловую точку

Ch3ck
03.12.2007, 20:49
Чё сделать то надо? :)

rubik-nerubik
03.12.2007, 20:52
ну перевести в понятный для понимания язык))
допустим const max=20 в школьной программе вообще нет такого =\ ну по проще описать

Kaimi
03.12.2007, 20:56
const это переменная, которую нельзя изменить.
Почитай хотя бы это
http://www.learn-programming.za.net/learn_pascal_programming.html

Ch3ck
03.12.2007, 20:57
program whattafuck;
uses crt;
;)

rubik-nerubik
03.12.2007, 21:01
да я просто обычно английский изучаю, вот только освободился и думаю накера мне паскаль пойду в перевеодчики =\

netzzz
03.12.2007, 21:03
А че тут кроме const MAX непонятно ?

вообще если смущает const MAX то удали описание и везде где видишь MAX напиши 20.

rubik-nerubik
03.12.2007, 21:04
ну да ладно, по крайней мере у меня ругается на
inp,x[i][j]);
в чем беда? посморите у себя. плиз

[aywo]
03.12.2007, 21:14
ну да ладно, по крайней мере у меня ругается на
inp,x[i][j]);
в чем беда? посморите у себя. плиз
x не двумерный массив
надо определить его как x:Array[1..MAX][1..MAX] of line;
или x:Array[1..MAX, 1..MAX] of line;

rubik-nerubik
03.12.2007, 21:32
там не только на это ругается может кто поможет сразу попробываться скомпилировать у себя и после выложит готовый результат? плиз

movejump
03.12.2007, 22:12
']x не двумерный массив
надо определить его как x:Array[1..MAX][1..MAX] of line;
или x:Array[1..MAX, 1..MAX] of line;
неа, надо как раз x:Array[1..MAX] of line. Не буду объяснять, просто поставьте тип line не extended, a real, ну и smin тоже real

~Lexx~
03.12.2007, 23:21
Я не совсем понял в чем вопрос? Или мот кто незнает, как паскаль ассигнует(сопоставляет) файл с физического диска вирутальному текстовому файлУ? а потом поэлементно считывает оттуда значения и ищет максимально из них, сравнивая с предыдущим? Ах да... перед этим мы просто создаем пользовательский типа данных. и объявляем константу. а потом уже создаем массивы от 1 до констаныты. Все верно, только я бы внес в отдельную процедуру поиск - только тогда надо было бы объявлять тип файла - не просто TEXT а File of text (Кстати если есть ошибки, то дело какраз в объявлении). А и ещ ея бы всетаки поправил обращение к элементам массива a[x,y]. Это не динамический массив чтобы к нему так обращаться. Мот кто с С или java попутал)))

movejump
03.12.2007, 23:38
хех, я бы еще назвалл текстовую переменную не inp, а input (читать из файла удобнее, а когда занимаешься олимпиадным программированием, 1файл на вход, 1 на выход, и 300 строчек кода, и писать каждый раз write(inp,a) неудобно)

~Lexx~
03.12.2007, 23:55
Это ты то олимпиадник??? Скажи своему научнику, чтобы он тебя от***дил. Нельзя использовать Real!!! Будешь точнее изучать паскаль увидишь -время выполнения для real почти вдвое больше Extended и Double. Единственная операция быстрее -операция сравнения.
А по поводу писать неудобно - это для кого как привычнее. Конечно куда грамотнее сдулать задачу юнитами(так всегда надо делать когда работаешь с файлами) а потом пореопределить конструкторы и методы. Но это уже совсем другой вопрос.
Задача впринципе должна работать. Там еще замуты могут быть с режимами компилятора. Мот сегодня вечерком подправлю, если найду паскальчик.)