Просмотр полной версии : паскаль, вы программер?
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.
вот задание буцдет видно в самом паскале, про седловую точку
rubik-nerubik
03.12.2007, 20:52
ну перевести в понятный для понимания язык))
допустим const max=20 в школьной программе вообще нет такого =\ ну по проще описать
const это переменная, которую нельзя изменить.
Почитай хотя бы это
http://www.learn-programming.za.net/learn_pascal_programming.html
program whattafuck;
uses crt;
;)
rubik-nerubik
03.12.2007, 21:01
да я просто обычно английский изучаю, вот только освободился и думаю накера мне паскаль пойду в перевеодчики =\
А че тут кроме const MAX непонятно ?
вообще если смущает const MAX то удали описание и везде где видишь MAX напиши 20.
rubik-nerubik
03.12.2007, 21:04
ну да ладно, по крайней мере у меня ругается на
inp,x[i][j]);
в чем беда? посморите у себя. плиз
ну да ладно, по крайней мере у меня ругается на
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
Я не совсем понял в чем вопрос? Или мот кто незнает, как паскаль ассигнует(сопоставляет) файл с физического диска вирутальному текстовому файлУ? а потом поэлементно считывает оттуда значения и ищет максимально из них, сравнивая с предыдущим? Ах да... перед этим мы просто создаем пользовательский типа данных. и объявляем константу. а потом уже создаем массивы от 1 до констаныты. Все верно, только я бы внес в отдельную процедуру поиск - только тогда надо было бы объявлять тип файла - не просто TEXT а File of text (Кстати если есть ошибки, то дело какраз в объявлении). А и ещ ея бы всетаки поправил обращение к элементам массива a[x,y]. Это не динамический массив чтобы к нему так обращаться. Мот кто с С или java попутал)))
movejump
03.12.2007, 23:38
хех, я бы еще назвалл текстовую переменную не inp, а input (читать из файла удобнее, а когда занимаешься олимпиадным программированием, 1файл на вход, 1 на выход, и 300 строчек кода, и писать каждый раз write(inp,a) неудобно)
Это ты то олимпиадник??? Скажи своему научнику, чтобы он тебя от***дил. Нельзя использовать Real!!! Будешь точнее изучать паскаль увидишь -время выполнения для real почти вдвое больше Extended и Double. Единственная операция быстрее -операция сравнения.
А по поводу писать неудобно - это для кого как привычнее. Конечно куда грамотнее сдулать задачу юнитами(так всегда надо делать когда работаешь с файлами) а потом пореопределить конструкторы и методы. Но это уже совсем другой вопрос.
Задача впринципе должна работать. Там еще замуты могут быть с режимами компилятора. Мот сегодня вечерком подправлю, если найду паскальчик.)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot