2023. január 23., hétfő

2023.01.23. Véletlenszám generálás

Random rnd = new Random(); //csak egyszer kell random típusú változót definiálni
            int[] egeszSzamok = new int[5];
            Console.WriteLine("Véletlen int típusú számok, nincs értékhatár megadva: ");
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                egeszSzamok[i] = rnd.Next();
                Console.WriteLine(egeszSzamok[i]);
            }
            Console.WriteLine();
            Console.WriteLine("Véletlen int típusú számok, 0 és 100 között: ");
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                egeszSzamok[i] = rnd.Next(0,101); //ha a 100-nak is benne kell lenni, akkor 101-et írunk a fölső értékhatárnál
                Console.WriteLine(egeszSzamok[i]);
            }
            Console.WriteLine();
            Console.WriteLine("Véletlen int típusú számok, 0 és 100 között: ");
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                egeszSzamok[i] = rnd.Next(101); //nem kötelező a 0 kiírása
                Console.WriteLine(egeszSzamok[i]);
            }
            Console.WriteLine();
            Console.WriteLine("Véletlen int típusú számok, -100 és 100 között: ");
            for (int i = 0; i < egeszSzamok.Length; i++)
            {
                egeszSzamok[i] = rnd.Next(-100, 101);
                Console.WriteLine(egeszSzamok[i]);
            }
            Console.WriteLine();
            byte[] kisSzamok = new byte[5];
            rnd.NextBytes(kisSzamok); //egy lépésben feltölti a tömböt
            Console.WriteLine("Véletlen byte típusú számok: ");
            for (int i = 0; i < kisSzamok.Length; i++)
                Console.WriteLine(kisSzamok[i]);
            Console.WriteLine();
            double[] tortek = new double[5];
            Console.WriteLine("Véletlen tört számok, alapértelmezetten 0 és 1 közötti értékek\nalapértelmezetten és kerekítve: ");
            for (int i = 0; i < tortek.Length; i++)
            {
                tortek[i] = rnd.NextDouble();
                Console.WriteLine("{0,-20} {1}", tortek[i], Math.Round(tortek[i],2));
            }
            Console.WriteLine();
            Console.WriteLine("Véletlen tört számok véletlen, 0 és 200 közötti egészekkel szorozva: ");
            for (int i = 0; i < tortek.Length; i++)
            {
                tortek[i] = rnd.NextDouble() * rnd.Next(0, 201);
                Console.WriteLine(tortek[i]);
            }
            Console.ReadLine();

 using System;


namespace randomszamok20230123

{

    class Program

    {

        static void Main(string[] args)

        {

            Random rnd = new Random(); //csak egyszer kell random típusú változót definiálni

            int[] egeszSzamok = new int[5];

            Console.WriteLine("Véletlen int típusú számok, nincs értékhatár megadva: ");

            // számoljuk meg hány 100 000 feletti elem van, írjuk ki

            int szazezerFeletti = 0;

            for (int i = 0; i < egeszSzamok.Length; i++)

            {

                egeszSzamok[i] = rnd.Next();

                Console.WriteLine(egeszSzamok[i]);

                if (egeszSzamok[i] > 100000) szazezerFeletti++;

            }

            Console.WriteLine($"Százezer feletti: {szazezerFeletti}");

            Console.WriteLine();

            Console.WriteLine("Véletlen int típusú számok, 0 és 100 között: ");

            for (int i = 0; i < egeszSzamok.Length; i++)

            {

                egeszSzamok[i] = rnd.Next(0, 101); //ha a 100-nak is benne kell lenni, akkor 101-et írunk a fölső értékhatárnál

                Console.WriteLine(egeszSzamok[i]);

            }

            Console.WriteLine();

            Console.WriteLine("Véletlen int típusú számok, 0 és 100 között: ");

            for (int i = 0; i < egeszSzamok.Length; i++)

            {

                egeszSzamok[i] = rnd.Next(101); //nem kötelező a 0 kiírása 

                Console.WriteLine(egeszSzamok[i]);

            }

            Console.WriteLine();

            Console.WriteLine("Véletlen int típusú számok, -100 és 100 között: ");

            for (int i = 0; i < egeszSzamok.Length; i++)

            {

                egeszSzamok[i] = rnd.Next(-100, 101);

                Console.WriteLine(egeszSzamok[i]);

            }

            Console.WriteLine();

            byte[] kisSzamok = new byte[100];

            rnd.NextBytes(kisSzamok); //egy lépésben feltölti a tömböt

            //számoljuk ki a 100 és 150 elemek közötti elemek átlagát

            int szazVotvenSzam = 0;

            int szazVotvenOsszeg = 0;

            Console.WriteLine("Véletlen byte típusú számok: ");

            for (int i = 0; i < kisSzamok.Length; i++)

            {

                Console.WriteLine(kisSzamok[i]);

                if (kisSzamok[i] >= 100 && kisSzamok[i] <= 150)

                {

                    szazVotvenOsszeg += kisSzamok[i];

                    szazVotvenSzam++;

                }

            }

            Console.WriteLine($"Az átlag: {(double)szazVotvenOsszeg / (double)szazVotvenSzam}");

            Console.WriteLine();

            double[] tortek = new double[5];

            Console.WriteLine("Véletlen tört számok, alapértelmezetten 0 és 1 közötti értékek\nalapértelmezetten és kerekítve: ");

            for (int i = 0; i < tortek.Length; i++)

            {

                tortek[i] = rnd.NextDouble();

                Console.WriteLine("{0,-20} {1}", tortek[i], Math.Round(tortek[i], 2));

            }

            Console.WriteLine();

            Console.WriteLine("Véletlen tört számok véletlen, 0 és 200 közötti egészekkel szorozva: ");

            for (int i = 0; i < tortek.Length; i++)

            {

                tortek[i] = rnd.NextDouble() * rnd.Next(0, 201);

                Console.WriteLine(tortek[i]);

            }

            Console.ReadLine();

        }

    }

}