======== Programoz s p˘tbesz mol˘ ======= 1994. jan. 31. ====== PZ940131.txt FONTOS! - A megold sban csak a szabv nyos Pascal nyelvet haszn lhatja, kiv‚ve, hogy egyetlen read vagy readln hĄv ssal is beolvashat stringet text  llom nyb˘l. - Az elj r sok ‚s fggv‚nyek nem haszn lhatnak glob lis v ltoz˘t. - Minden sz mozott feladatot kl”n lapra Ąrjon, a lapoknak csak egyik oldal ra Ąrhat. --------------------------------------------------------------------------- 1. K‚t sz”veges adat llom nyr˘l tudjuk, hogy csak abban kl”nb”znek, hogy az els“ben n‚h ny teljes sorral t”bb van, mint a m sodikban, a t”bbi soruk megegyezik. K‚szĄtsen teljes programot, amely kiĄrja ezeket a r ad s-sorokat a szabv nyos outputra. Azt is tudjuk, hogy egyik  llom nyban sincs 80 karaktern‚l hosszabb sor. --------------------------------------------------------------------------- 2. Deklar ljon egy fggv‚nyt, amely a param‚terk‚nt  tvett val˘s v ltoz˘s, val˘s ‚rt‚k– fggv‚ny adott intervallumbeli egyetlen gy”k‚t megkeresi Łgy, hogy el“sz”r adott pontoss gig intervallumfelez‚ses, ut na a v‚gs“ pontoss gig hŁr m˘dszert haszn l. --------------------------------------------------------------------------- 3. Adottak a k”vetkez“ definĄci˘k: const maxhossz = ... ; type elemtipus = record kulcs:integer; {... :tov bbi mez“k} end; tablatipus = array [1..maxhossz] of elemtipus; K‚szĄtsen elj r st, mely egy tablatipus tĄpusŁ t”mb adott hosszŁs gŁ els“ r‚sz‚t Łgy rendezi, hogy elemeit egy rendezett bin ris f ba t”lti, majd onnan nagys g szerint n”vekv“ sorrendben visszam solja a t”mbbe. --------------------------------------------------------------------------- 4. Az itt k”vetkez“ elj r s egy t”mb tartalm t nagys g szerint n”vekv“ sorrendbe rendezi. (A szks‚ges definĄci˘k a 3. feladat szerintiek.) 4.A. Specifik lja az  ltala haszn lt HELYRERAK elj r st, azaz pontosan adja meg, mi a feladata! 4.B. Deklar lja ezt a HELYRERAK elj r st! procedure buborek_indirekt (var tabla :tablatipus; hossz :integer); type indextomb = array[1..maxhossz] of integer; var csere :boolean; { volt csere ? } felsox :integer; { eddig kell vizsg lni } x,w :integer; { fut˘index, munkav ltoz˘ cser‚hez } index :indextomb; { fontos, hogy mit t rol, de mi lehet???} begin for x:=1 to hossz do index[x]:=x; felsox:=hossz-1; repeat csere:=false; for x:=1 to felsox do if tabla[index[x]].kulcs > tabla[index[x+1]].kulcs then begin { csere } w:=index[x]; index[x]:=index[x+1]; index[x+1]:=w; csere:=true; end; felsox:=felsox-1; until not csere or (felsox=0); HELYRERAK (tabla,index,hossz); end;