Kezdőoldal » Számítástechnika » Programozás » Valaki segít ennek a programna...

Valaki segít ennek a programnak a megírásában?

Figyelt kérdés

Ezt a shell rendezést kell megírni c++-ban, de hiába csináltam, ahogy le van írva, nem működik jól.


procedure SHELL_RENDEZ1(A)

LK ← {100,30,8,3,1}

for k ← 1 to méret(LK) do

lépésköz ← LK[k]

for eltolás ← 1 to lépésköz do

i ← lépésköz + eltolás

while i ≤ méret(A) do

kulcs ← A[i]

j ← i - lépésköz

while j ≥ 1 és A[j] > kulcs do

A[j + lépésköz] ← A[j]

j ← j - lépésköz

end while

A[j + lépésköz] ← kulcs

i ← i + lépésköz

end while

end for

end for

end procedure



2020. nov. 10. 15:54
 1/8 anonim ***** válasza:
Ha feltöltöd a kódot akkor lehet hamarabb tudunk segíteni. Vagy legalább ha azt leírod hogy hol akadtál el.
2020. nov. 10. 16:03
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

Ez az amit írtam, de nem működik :/



void shell(vector<int>& A)

{

vector<int> LK = {101,31,8,3,1};

for (int k = 1; k<LK.size();++k)

{

int lepeskoz = LK[k];

for(int eltolas = 1; eltolas<lepeskoz; ++eltolas)

{

int i = lepeskoz + eltolas;

while(i <= A.size())

{

int kulcs = A[i];

int j = i - lepeskoz;

while(j>=1 && A[j] > kulcs)

{

A[j+lepeskoz] = A[j];

j = j-lepeskoz;

}

A[j+lepeskoz] = kulcs;

i = i + lepeskoz;

}

}

}

}

2020. nov. 10. 16:06
 3/8 anonim ***** válasza:
++k helyett nem k++ kellene?
2020. nov. 10. 20:16
Hasznos számodra ez a válasz?
 4/8 tabaki ***** válasza:

Nem lehetne a teljes programot? És ne ide, hanem valami kódmegosztó oldalra, példának okáért:

[link]

2020. nov. 10. 22:30
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:
2020. nov. 11. 09:01
 6/8 tabaki ***** válasza:

Nem nagyon értek hozzá, de úgy látom, az a fő probléma, hogy a pascal-szerű pszeudokódnak megfelelően 1-től indexelsz a ciklusokban. Ihol egy kísérlet a programod módosítására:

[link]

Teszteld más értékekkel és tömbméretekkel is, nekem úgy tűnik, hogy működik.

2020. nov. 11. 10:51
Hasznos számodra ez a válasz?
 7/8 tabaki ***** válasza:

„tömbméretekkel”


Ööö... már úgy értem, más méretű vektorokkal...

2020. nov. 11. 10:54
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:
Igen, így már működik. Köszönöm! :)
2020. nov. 11. 11:33

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!