Kezdőoldal » Számítástechnika » Programozás » Paros elemek a tomb elejere,...

Paros elemek a tomb elejere, paratlan elemek a tomb vegere, Pascalban?

Figyelt kérdés

Van egy egydimenzios tombom, amelyet ugy szeretnek rendezni, hogy a paros elemeket betegye a tomb elejere, es a paratlan elemeket a tomb vegere

pl:

1 2 3 4 5 => 2 4 1 3 5

Hogyan lehet ezt megcsinalni?



#programozás #Pascal #egydimenzios tomb
2019. nov. 16. 16:58
 1/10 anonim ***** válasza:
74%

Tessék, megírtam neked C#-ban, Pascalra csak le tudod fordítani, ugye?

static void z(int[] q){int i=0,j,x;while(i<q.Length){j=0;while(j<q.Length-i-1){if(q[j]%2==1&&q[j+1]%2==0){x=q[j];q[j]=q[j+1];q[j+1]=x;}j++;}i++;}}

2019. nov. 16. 18:27
Hasznos számodra ez a válasz?
 2/10 A kérdező kommentje:
Koszonom, nem tudom leforditani, de google a baratomxd
2019. nov. 16. 18:28
 3/10 anonim ***** válasza:
80%

A kolléga megoldása jó, csakkicsit lehet rajta optimalizálni még:

static void z(int[]_){int ____=0,__,___;while(____<_.Length){__=0;while(__<_.Length-____-((1+1)-1)){if(_[__]%(1+1)==((1+1)-1)&&_[__+((1+1)-1)]%(1+1)==0){___=_[__];_[__]=_[__+((1+1)-1)];_[__+((1+1)-1)]=___;}__++;}____++;}}

2019. nov. 16. 18:40
Hasznos számodra ez a válasz?
 4/10 A kérdező kommentje:
Nem irná inkabb valaki le nekem ezeket szavakkal? legyszixd
2019. nov. 16. 18:45
 5/10 anonim ***** válasza:
A jól olvasható kód verseny mai győzteseit látták :)
2019. nov. 16. 20:28
Hasznos számodra ez a válasz?
 6/10 anonim ***** válasza:

A kiválogatás helyben tétele elvileg..



BrainFuckban is le tudnátok írni amúgy?

2019. nov. 16. 20:54
Hasznos számodra ez a válasz?
 7/10 tabaki ***** válasza:

@#6: Én ugyan nem. Pascalban sokkal egyszerűbb, meg hát Kérdező is abban kérte:


procedure _(var _1:array of byte);var _2,_3,_4:integer;begin _2:=0;while _2<Length(_1) do

begin _3:=0;while _3<Length(_1)-1 do begin if(_1[_3]mod 2=1)and(_1[_3+1]mod 2=0)then begin

_4:=_1[_3];_1[_3]:=_1[_3+1];_1[_3+1]:=_4;end;Inc(_3);end;Inc(_2);end;end;

2019. nov. 16. 23:18
Hasznos számodra ez a válasz?
 8/10 anonim ***** válasza:

Az eredményben számít a sorrend?


Tehát a páros elemek és páratan elemek sorrendje az eredeti kell legyen? Mert ha nem, akkor felesleges 2 egymába ágyazott ciklus, csak indulj el a tömb 2 végéről és lépkedj "középre" (Nyilán nem közép, hanem attől függ hova, hogy párosból és páratlanból mennyi van) amíg jók az elemek. Ha össeérsz, akkor vége, egyébként pedig felcseréled a 2 elemet.


A te példádvan ekkor ezt kapod:

4 2 3 1 5

2019. nov. 16. 23:28
Hasznos számodra ez a válasz?
 9/10 anonim ***** válasza:
100%
Aki erre O(N^2)-es algoritmust ír, az egyébként jó fejlesztőnek tartja magát? :)
2019. nov. 17. 08:09
Hasznos számodra ez a válasz?
 10/10 anonim ***** válasza:

Egyet kell értenem a 9-essel.

Ez egy sima merge sort-tal is O(n*logn) (nyilván módosítani kell az összehasonlító feltételt, hogy a páros számokat előre vegye, de ez ugye konstans idő).

Simán megoldható O(n)-ben is, de eleve nem tudunk eleget a feladatról, pl. hogy eleve rendezett-e a tömb (mert a kérdező által írt példában ugye az).

2019. nov. 17. 08:45
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!