Pereiti prie turinio

Reiketu pagalbos su paskaliu :)


Rekomenduojami pranešimai

uzdavinio esme: " yra susuriuosiuotas sarasas, iterpiamas elementas iskart itraukiamas i jo vieta :)"

 

program U2;
type Sarasas = ^Elem;
 Elem = record
   Elementas: integer;
   Kitas: Sarasas;
 end;

procedure ElementoItraukimas(var D: Sarasas; Eilute: integer);
var
 DuomPask, DuomPag: Sarasas;
begin
 New(DuomPask);
 DuomPask^.Elementas := Eilute;
 DuomPask^.Kitas := nil;
 if D = nil then
D := DuomPask
 else
 begin
DuomPag := D;
while DuomPag^.Kitas <> nil do
  DuomPag := DuomPag^.Kitas;
DuomPag^.Kitas := DuomPask;
 end;
end;

procedure SarasoTvarkymas(var D: Sarasas; skaicius:integer);
var
 DuomPag,dd,pradzia,pabaiga: Sarasas;
 El,elkit,bb,i: integer;
begin
// DuomPag := D;
// dd:=d;
// pradzia:=d;
//  writeln ('d^ kitas: ', d^.elementas);

//  while dd^.kitas <> nil do dd:=dd^.kitas;

//  writeln ('d elementas', d^.elementas);
//  new(dd);
// dd^.elementas:=444;
// dd:=dd^.kitas;
//  dd^.elementas:=1312;
//  dd^.kitas:=nil;
//  d^.kitas:=dd;
// d:=dd;
//  d:=dd;
// pabaiga^.kitas:=d;
// pabaiga:=d;



 //pabaiga:=d^.elementas;
//  new (d);
//  d^.elementas:=333;
//  d^.kitas:=nil;

//   d^.kitas:=d^.kitas;
// pabaiga^.kitas:=d;
// pabaiga:=d;
 duompag:=d;
 if d^.elementas >= skaicius
  then
begin
 pradzia:=d;
 new (d);
 d^.elementas:=skaicius;
 d^.kitas:=pradzia;
 pradzia:=duompag;
end
  else
begin
 while DuomPag <> nil do
  begin
   if duompag^.kitas <> nil then
	begin
	 El := DuomPag^.Elementas;
	 elkit:= duompag^.kitas^.elementas;
	 bb:=skaicius;
 //  writeln ('------ elementas', el);
 //  writeln ('------ kitas elementas', elkit);
	 if El = bb then // elkit => bb  then
	  begin
	   dd:=duompag;
	   new(duompag);
	   Duompag^.elementas:=skaicius;
	   duompag^.kitas:=dd^.kitas;
	   dd^.kitas:=duompag;
	  end;
	//--------------------------------
	// jei pirmas elementas
	 //   new (duompag);
	//	duompag^.elementas:=skaicius;
	//	duompag^.kitas:=pradzia;
	//	pradzia:=duompag;
	//	end;

	 //---------------------------------
   // tikrinimas(DuomPag,dd);
	end;
   DuomPag := DuomPag^.Kitas;
  end;
end;
end;

var
 D: Sarasas;
 Eilute,skaicius: integer;
begin
 WriteLn('Iveskite saraso elementus');
 WriteLn('Noredami baigti ivedima iveskite 0');
 ReadLn(Eilute);
 if Eilute = 0 then
WriteLn('Sarasas yra tuscias')
 else
 begin
while Eilute <> 0 do
begin
  ElementoItraukimas(D, Eilute);
  ReadLn(Eilute);
end;
writeln (' iveskite skaiciu, kuri norite iterpti - :');
readln(skaicius);

SarasoTvarkymas(D,skaicius);

WriteLn;
WriteLn('sarasas su iterptu nariu: ');
while D <> nil do
begin
  WriteLn(D^.Elementas);
  D := D^.Kitas;
end;
 end;

 Dispose(D);
 ReadLn;
end.

 

1) gal kas zino, kodel eilutei 81 ( if El = bb then // elkit => bb then) negaliu apjunkti situ su and..

2) gal kas zino, kaip paprastai padaryt, kad jei norimas iterpiamas elementas yra didesnis uz paskutni.. na tipo, kad i pati gala iterpti, nes blemba ir nesugalvoju.. o viska reikia jau greit padaryt..

 

dekui visiems, kas pades, ar nors moraliskai palaikys :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nesupratau biski ka ten del 1 nori apjungti?

 

o del 2 tai tesiog paskutinio elemento rodykle priskirk i ta didesni, o didesnio nunulink ( jei vien pusis sarasas)

 

if El = bb then // elkit => bb then

 

tipo cia noriu patikrinti vidurinius elementus turetu but taip if el <=bb and elkit => bb then bla bla bla ( tikrinu, kur ji irasyt reikai :))

 

vienpusis.. tai bandziau viska daryt.. na dar pabandysiu.. ilga naktis.. jei ka rasysiu tau :)

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ą...