Kezdőoldal » Számítástechnika » Programozás » Ennek a MathCAD algoritmusnak...

Ennek a MathCAD algoritmusnak hogyan kellene kinéznie?

Figyelt kérdés

Egy egyszerű MathCAD algoritmusban szeretném a segítségetek kérni,nagyon hálás lennék ha valaki orvosolná ezt a problémám:


Azt az (egyik) algoritmust keresem,amely 1-90 ig véletlenszerűen kidobja a számokat oly módon,hogy nem lehet számismétlés.


10 sornál tuti nincs több,keresem a megoldást ! :)



2015. márc. 4. 00:40
 1/1 anonim ***** válasza:

1. lépés:

Kiépítesz egy 90 elemű tömböt, (0-89ig indexelve persze) és feltöltöd 1-től 90-ig.

Csinálsz egy változót amibe beleteszed a tömb elemeinek számát. Legyen ez most "A".


2. lépés:

Generász egy számot 0-től (A-1)-ig, majd a kapott szám lesz azaz index aminek az értékét kifogod venni. Ezt az indexet mensd le egy "TMP"-be.


3. lépés:

A TMP indextől nagyobb számokat sorban básold barra, biztosítva azt a sorrendiséget, hogy ne legyen hézag. Majd a A-ból vonyj ki 1-et.


4. lépés:

Ha A nem 0 akkor térjünk vissza a 2. pontra. Ha mégis 0 vége.


Gyakorlatilag:

{index:érték}

Tömb 1-től 5-ig esetén:

T = ({0:1}, {1:2}, {2:3}, {3:4}, {4:5})

A = 5

random(A) nyelvfüggő, hogy adja vissza. Ezt dokumentációban kell megnézned. Most 5 értéket nézzen 0-tól azaz 0-tól 4-ig adhat vissza.

Most mondjuk adja vissza az 1-est.


TMP = 1

T[1] = 2 ez a kapott érték


Majd tologatunk:

({0:1}, {1:3}, {2:4}, {3:5}, {4:NULL})

A = A-1 azaz érték 4 lesz.


random(A) azaz 0tól 3ig adja. legyen most 0 a kapott érték.

TMP = 0

T[0] = 1 ez a kapott érték


Majd tologatunk:

({0:3}, {1:4}, {2:5}, {3:NULL}, {4:NULL})

A = A-1 azaz érték 3 lesz.

random(A) adja most vissza a 2-tőt.


TMP = 2

T[2] = 5 ez a kapott érték


Majd tologatunk:

({0:3}, {1:4}, {2:NULL}, {3:NULL}, {4:NULL})

A = A-1 azaz érték 2 lesz.


és így tovább. Garantálva, hogy érintsen mindent, de még se legyen 2x egy érték.

2015. márc. 4. 08:35
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!