Pereiti prie turinio

pascal uzduotis


Svečias artrix

Rekomenduojami pranešimai

Svečias artrix

Žemės sklypas. Bendrovė, atradusi gyvenimui tinkamą planetą Mėnulę, suorganizavo aukcioną,

kuriame nusprendė išparduoti Žemės dalį ir taip susigrąžinti į naujos planetos paiešką investuotus

pinigus. Kiekvienas aukciono dalyvis pasiūlo norimo įsigyti sklypo koordinates. Laikomasi tokių

taisyklių:

· Sklypas privalo būti stačiakampio formos.

· Vienas aukciono dalyvis gali pateikti tik vieną pasiūlymą.

· Pasiūlyti sklypai gali kirstis.

Kompanija nori sužinoti, ar yra toks žemės gabalas, kurio norėtų visi dalyviai, tuomet jam

nustatytų didžiausią kainą.

Užduotis. Žinomos aukciono dalyvių pasiūlytos sklypų koordinatės. Parašykite programą

didžiausio žemės gabalo, kurį nori įsigyti visi aukciono dalyviai, koordinatėms rasti. Beje, tokio žemės

gabalo gali ir nebūti.

Pradiniai duomenys. Pirmoje pradinių duomenų failo SKLYPAS.IN eilutėje įrašytas vienas

sveikasis skaičius N (1 £ N £ 1000) – aukciono dalyvių pasiūlymų skaičius.

Toliau eina N eilučių, nusakančių kiekvieno pasiūlymo žemės sklypo koordinates. Kiekvienas

sklypas nusakomas keturiais tarpu atskirtais sveikaisiais skaičiais, viršutinio kairiojo (X1, Y1) ir apatinio

dešiniojo (X2, Y2) sklypo kampų koordinatėmis plokštumoje (visada X1 < X2, Y1 > Y2). Visoms

koordinatėms galioja ribojimas: 1000000 £ X1, Y1, X2, Y2 £ 1000000.

Rezultatai. Pirmoje rezultatų failo SKLYPAS.OUT eilutėje turi būti įrašyti keturi tarpu atskirti

sveikieji skaičiai – žemės gabalo, kurį nori įsigyti visi aukciono dalyviai, koordinatės. Jeigu tokio

žemės gabalo nėra, pirmoje rezultatų failų eilutėje turi būti įrašytas vienas skaičius – 0.

 

http://www.part.lt/img/c146b7ee99554db27cf1fe8b5e37092d939.jpg

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Čia labai paprastas uždavinukas, tik reikia gerą taktiką sugalvot. :D

Esmė tame, kad tau reikia iš tų visų kvadratų kairiosios koordinatės x rasti didžiausią, o y mažiausią. O su dešiniosios pusės koordinatėmis - x mažiausią, o y didžiausią. Taip gausi to kvadrato koordinates. ^_^

Idėją daviau, dabar pats pabandyk išspręst. :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Čia labai paprastas uždavinukas, tik reikia gerą taktiką sugalvot. :)

Esmė tame, kad tau reikia iš tų visų kvadratų kairiosios koordinatės x rasti didžiausią, o y mažiausią. O su dešiniosios pusės koordinatėmis - x mažiausią, o y didžiausią. Taip gausi to kvadrato koordinates. :)

Idėją daviau, dabar pats pabandyk išspręst. :)

 

Na taip idėja gera, nes didžiausias X1 parodys labiausiai į dešinę, esančią kairiąją sieną. Bet reikėtų pridėti, kad ta kairioji siena turėtų būti arčiau, už labiausiai į kairę, esančią dešiniają sieną - nes kitokiu atveju to visų norimo ploto nebus išvis. O labiausiai į kairę nutolusią dešiniąją sieną nurodo mažiausias X2. Taigi viskas turėtų taip:

1.Surandam didžiausią X1.

2.Surandam mažiausią X2.

3.Palyginam, jei min X2> max X1, tesiam programą. Jei ne, tokio ploto nebus ir išvedam 0.

Ir analogiškai kartojam su visom 4 sienom, tik reikia atsižvelgt kas už ką didesnis turi būt. Turėtų gautis gan nemaža programa. :D

Redagavo PixeLz
Nuoroda į pranešimą
Dalintis kituose puslapiuose
sita viska zinau turiu pasirases ka ir po ko reikia daryt.... bet dar nelabai gaudaus masyvuose, jei galit paaiskinkit ta dali ;D

Kadangi taip nuoširdžiai tingiu rašyt visą programą, tai parašiau tik nusiskaitymą iš failo. Duomenis sudeda į masyvą.

program Sklypai;
type koordinates = array [1..1000] of integer;
var n : integer;
X1, Y1, X2, Y2 : koordinates;
{----------------------------------------------}
procedure Skaitymas;
var fd : text;
  i : integer;
begin
Assign(fd, 'sklypas.in');
Reset(fd);
ReadLn(fd, n);
for i := 1 to n do
ReadLn(fd, X1[i], Y1[i], X2[i], Y2[i]);
Close(fd);
end;
{----------------------------------------------}
begin
Skaitymas;
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...