Kezdőoldal » Számítástechnika » Programozás » Meg lehet oldani egyszerűbben?

Meg lehet oldani egyszerűbben?

Figyelt kérdés

Még csak most tanulom a programozás. Meg lehet ezt a kis programot írni egyszerűbben is, mert mire befejeztem már majdnem, hogy én is belegabalyodtam.


[link]



2016. febr. 11. 14:01
1 2 3 4 5
 41/47 anonim ***** válasza:

Most attól, hogy bemásoltál egy kódot még nem lett effektívebb a megoldásod :D

Ha kiszámolod a műveletigényét, akkor rájössz, hogy nem a legeffektívebb megoldás. 1 millió random számot generálsz!

2016. febr. 11. 22:01
Hasznos számodra ez a válasz?
 42/47 SimkoL ***** válasza:

using System;


namespace Lotto

{

class MainClass

{

public static void Main (string[] args)

{

bool[] szamok = new bool[91];

int szam, darab = 0;

char choose = '1';

char[] validChar = { '0', '5', '6', '7' };

bool jo = false;

byte melyik;

Random rnd = new Random ();

do {

darab = 0;

jo = false;

while (!jo) {

Console.Clear();

Console.WriteLine ("Milyen lottóhoz szeretnél számokat generálni?\n5 - Ötös lottó\n6 - Hatos Lottó\n7 - Skandináv lottó\n\n0 - Kilépés\n");

choose = Console.ReadKey ().KeyChar;

for(int i = 0; i < 4; i++) if (choose == validChar[i]) jo = true;

}

byte.TryParse (Convert.ToString (choose), out melyik);

for (int i = 1; i < 91; i++) szamok [i] = false;

Console.Clear();

while (darab < melyik) {

szam = rnd.Next (1, 90);

if (szamok [szam]) szam = rnd.Next (1, 90);

else {

szamok [szam] = true;

darab++;

}

}

for (int i = 1; i < 91; i++) if (szamok [i])Console.Write (i + " ");

Console.ReadLine ();

} while (choose != '0');

}

}

}

2016. febr. 11. 22:35
Hasznos számodra ez a válasz?
 43/47 anonim ***** válasza:
1 millió ötös lottó sorsolást generál amit írtam, és kiírja fájlba. Ha halászol netről olyat ami gyorsabb vagy megírod magad akkor megtapsollak. Másrészt 5 millió véletlen számot generál.
2016. febr. 11. 22:58
Hasznos számodra ez a válasz?
 44/47 anonim ***** válasza:
Aki egy lottószámgenerátornál a gányolás mellett érvel a logikus keveréses megoldás ellenében a HATÉKONYSÁGRA hivatkozva, az sürgősen adja vissza a diplomáját. Már ha van neki. Vagy az OKJs papírját. Aztán írja be a keresőbe, hogy premature optimisation.
2016. febr. 12. 06:52
Hasznos számodra ez a válasz?
 45/47 anonim ***** válasza:

Akkor ezek utan el tudod magyarazni szamokban is, hogy a keveros megoldas miert hatekonyabb, mint az altalam felvazolt abban az esetben, ha csak egy sorsolas eredmenyere vagyunk kivancsiak?


Mert kodolasi stilus szempontjabol meg azt mondom rendben. De muveletigeny vagy memoria szempontjabol...

2016. febr. 12. 16:51
Hasznos számodra ez a válasz?
 46/47 anonim ***** válasza:

"ha csak egy sorsolas eredmenyere vagyunk kivancsiak"


Egy sorsolást még én is elvégzek gyorsan fejben, kit érdekel ott az optimalizálás. Ha 1 sorsolás kell csak akkor szép kódot kell írni, ha hatékony akkor pedig hatékony megoldást szép kóddal, ami a keverés. Ami 5 számot kever 90 szám közül 1 sorsolásnál, nem az összeset. Lehetne mindet keverni egyszerre és akkor egy keverésből lenne 18 ötös lottó sorsolás, de a mai fordítók jól optimalizálnak így ez nem gyorsítana rajta.


Próbálj meg a módszereddel 1-100 -ig 95 egyedi véletlenszerű számot generálni, és fel fog tűnni, hogy miért nem hatékony egyedi számok generálásánál.

2016. febr. 12. 17:19
Hasznos számodra ez a válasz?
 47/47 anonim ***** válasza:
Ilyen rossz kódot még életemben nem láttam ciklusok megvan? fölösleges 10 sornyi feltételt írni &&-kel találd meg rá a megfelelő algoritmust!
2016. febr. 12. 19:17
Hasznos számodra ez a válasz?
1 2 3 4 5

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!