Kezdőoldal » Számítástechnika » Programozás » Hogyan írjak olyan algoritmust...

Armandka kérdése:

Hogyan írjak olyan algoritmust, mely természetes számokat tartalmazó 10 elemű tömb páros értékű adatát írja ki?

Figyelt kérdés
Egy okos programozó le tudná nekem vezetni, mégis hogyan néz ki MONDATSZERŰ leírásban egy ilyen algoritmus? Bocsi ha elég egyszerű dolgot kérdezek,de nem tudom, hogy mit értünk a páros értékű adat alatt, és ez az algoritmus megírása most valahogy sehogy se megy!
2012. nov. 20. 15:08
1 2
 1/15 anonim ***** válasza:

"de nem tudom, hogy mit értünk a páros értékű adat alatt"

Hallottál már olyanról, hogy páros szám?


i := 1

Ciklus amíg i <= 10

Ha T[i] mod 2 = 0 akkor Kiír(T[i])

i := i + 1


kb. ennyi

2012. nov. 20. 15:35
Hasznos számodra ez a válasz?
 2/15 anonim ***** válasza:
Az utolsó 2 sor a cikluson belül van (csak az oldal valamiért korrigálta a behúzást)
2012. nov. 20. 15:36
Hasznos számodra ez a válasz?
 3/15 anonim ***** válasza:
Ha kettesével léptetjük az indexet, akkor a feltételvizsgálatra sincs szükség.
2012. nov. 20. 17:15
Hasznos számodra ez a válasz?
 4/15 anonim ***** válasza:

Azt nem írta a válaszoló, hogy egymást követő természetes számokról lenne szó. Tekintsük tehát véletlenszerű adatnak.


Egy szám párosságának vizsgálatára használhatod a maradékképző operátort 2-es operandussal. Ha x (mod 2) = 0, akkor x páros, feltéve, hogy x e N; Illetve számos programozási nyelv vagy az ahhoz tartozó standard library tartalmaz párosságteszt függvényt vagy operátort, ami esetenként gyorsabban is futhat. Mivel a párosságteszt egy másik megvalósítása az utolsó számjegy vizsgálata. (Általános iskolában is ezt tanították: egy szám páros, ha az utolsó számjegye nem páratlan) Kettes számrendszerben nagyon egyszerű dolgunk van, hiszen egy szám csak akkor lehet páros, ha az utolsó számjegye 0. Mivel erre a fordítóprogramok jó eséllyel kevesebb processzoridejű eljárást is támogatnak, érdemes lehet ezt használni.


Mindössze végig kell iterálni a tömb elemeit, és kiírni azokat az elemeket, amelyek párosak. A párosságteszt egy megvalósítását az előbb leírtam, így nemigen maradhatott nyitott kérdésed, de ha igen, akkor szólj bátran.

2012. nov. 20. 17:45
Hasznos számodra ez a válasz?
 5/15 anonim ***** válasza:

A probléma kicsit matekosabb felfogásban: a kérdező által említett halmaz valóban természetes számokat tartalmaz, viszont attól függetlenül még nem rendezett és nem is részbenrendezett. Tehát nem helyes az az észrevétel, amit az első válaszoló tett.


Ha ténylegesen a természetes számok halmazáról lenne szó, a tömbök teljesen haszontalanok lennének: felesleges lenne letárolni bármilyen adatot.

2012. nov. 20. 17:52
Hasznos számodra ez a válasz?
 6/15 _Jessy_ ***** válasza:

"Ha ténylegesen a természetes számok halmazáról lenne szó, a tömbök teljesen haszontalanok lennének: felesleges lenne letárolni bármilyen adatot."

Ez azért nem feltétlenül igaz :)

Tegyük fel, hogy természetes számok az {1,2,3} de akkor a {3,2,1} is a természetes számok halmazát adná :D

2012. nov. 20. 20:52
Hasznos számodra ez a válasz?
 7/15 anonim ***** válasza:

_Jessy_:


Miért tennénk fel, hogy a természetes számok az ez vagy az? A természetes számok definíció szerint a pozitív egész számok rendezett sorozata, vagyis N e Z -edik elem mindig N, és N+1-edik elem mindig N+1. Rendezett a sor. 1-et mindig a 2 követi, 2-t mindig a három, etc.


Szóval másképp így írhatnánk fel:

N = {1, 2, 3, 4, ...}

Ha ebből ki akarom választani a bizonyos feltételnek megfelelő tagokat, ahhoz, nem szükséges eltárolni a halmazt. Mi több! Nem hogy nem szükséges, de még csak nem is lehetséges! Ilyen halmazt a tulajdonságai miatt nem lehetséges a számítógép memóriájában eltárolni.


A természetes számok halmaza egy számtani sorozat. A fenti megállapításom, azaz, hogy a halmaz elemeinek kiválasztáshoz nem szükséges eltárolni az elemeit, valamennyi számtani sorozatra érvényes.

2012. nov. 20. 21:04
Hasznos számodra ez a válasz?
 8/15 anonim ***** válasza:
Helyesbítés: a kapcsos zárójelek nélkül. A kapcsos zárójelekkel valóban csak egy halmazt jelent. Másképp is fel lehet írni, de legegyszerűbb mértani sorozatként. Kapcsos zárójelek nélkül pont egy mértani sorozat.
2012. nov. 20. 21:06
Hasznos számodra ez a válasz?
 9/15 anonim ***** válasza:

Ezzel a feltétellel megvizsgálod a tömb minden egyes elmét,hogy páros e:

if(array[index] % 2 == 0)

....//Ha igaz a feltétel,akkor kiíratás.

2012. nov. 20. 21:16
Hasznos számodra ez a válasz?
 10/15 iostream ***** válasza:

"Miért tennénk fel, hogy a természetes számok az ez vagy az? A természetes számok definíció szerint a pozitív egész számok rendezett sorozata, vagyis N e Z -edik elem mindig N, és N+1-edik elem mindig N+1. Rendezett a sor. 1-et mindig a 2 követi, 2-t mindig a három, etc."


A természetes számokat az egész számokkal definiálod, ráadásul egy halmazt sorozatként adsz meg? Miknek a sorozata? Mi van? Nem ugyanazt a matekot tanultuk, úgy érzem.


"A probléma kicsit matekosabb felfogásban: a kérdező által említett halmaz valóban természetes számokat tartalmaz, viszont attól függetlenül még nem rendezett és nem is részbenrendezett. Tehát nem helyes az az észrevétel, amit az első válaszoló tett."


Ennek meg semmi értelme. Senki nem állította, hogy rendezett lenne bármi, sem az első, sem az előző válaszoló.


"Mivel erre a fordítóprogramok jó eséllyel kevesebb processzoridejű eljárást is támogatnak, érdemes lehet ezt használni."


Ehhez meg csak annyit, hogy igen, ha van külön erre való eljárás, operátor vagy valami, akkor érdemes azt használni, de nem sebesség miatt: a fordító úgyis kioptimalizálja. Annyira nem hülye, hogy egy %2-t ne vegyen észre. Azért kell azt használni, hogy egyértelmű legyen, mi a szándéka a programozónak.

2012. nov. 20. 21:38
Hasznos számodra ez a válasz?
1 2

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!