Új hozzászólás Aktív témák

  • Gülredy

    tag

    Sziasztok!
    Volna egy feladatom, amire van is megoldásom, de szerintem túl van bonyolítva, és megoldható lenne könnyebben(rövidebben) is. Erre kérném a segítségeteket:

    A feladat:
    "Írjon olyan függvényt vagy metódust, amely egy karakterláncban vagy sztringben
    véletlenszerűen összekeveri a karaktereket (véletlenszám–generátor használható)!"

    Kikötés, hogy "Tilos olyan függvényt/metódust használni, mely közvetlenül a megoldást adja!"

    Szóval van nekem 3 féle programnyelvben is megoldás, egy c, java, meg c#-os is.
    A c#-osat bemásolom ide, mert abban érdekelne egy rövidebb megoldás, ha ti tudtok rá egyet. Személy szerint egy StringBuilder + Random szám generátorban gondolkoztam, de igazából StringBuilderrel még nem sokat foglalkoztam így nem tudom hogy is nézzen ki a megoldás.

    class Program
    {
    static void keveres(string szoveg)
    {
    Random szam = new Random();
    int hossz= szoveg.Length;
    int[] szamok = new int[hossz];
    bool voltmar;

    for (int i = 0; i < hossz; i++)
    {
    do{
    voltmar = false;
    szamok = szam.Next(0,hossz);
    for (int j = 0; j < i; j++)
    {
    if (szamok(i)==szamok[j])
    {
    voltmar=true;
    }
    }
    } while (voltmar==true);
    }
    char[] kevert = new char[hossz];
    for (int i = 0; i < hossz; i++)
    {
    kevert(i)=szoveg[szamok(i)];
    }
    for (int i = 0; i < hossz; i++)
    {
    Console.Write(kevert(i));
    }

    }
    static void Main(string[] args)
    {
    Console.WriteLine( "Adjon meg egy karakterláncot majd véletlenszerűen összekeverve megkapja:");
    string szo = Console.ReadLine();
    keveres(szo);
    Console.ReadKey();
    }

    Létezik rá egy rövidebb megoldás amely ugyan ezt a funkciót elvégzi?

    Előre is köszönöm a válaszokat!

Új hozzászólás Aktív témák