NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.

Diskuze: Minimum, maximum v matici

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
jesmot
Člen
Avatar
jesmot:22.1.2020 21:08

Ahoj, možná to bude znít jako úplná blbost a možná i řešení bude úplně banální, ale pořád na to nějak nemůžu přijít. Snažím se vypsat z náhodných prvků maximum a minimum. To by samo o sobě problém nebyl.

using System;
using System.Linq;

namespace MinMax
{
        class Program
        {
                public static void Main(string[] args)
                {
                        int[] cisla = new int[10];

                        Random R = new Random();
                        int rozsah = 1000;
                        int n;

                        for (int i=0; i<10; i++)
                        {

                        n = R.Next(0,rozsah);
                        cisla[i] = n;
                        Console.Write(cisla[i] +"  ");

                                Console.WriteLine();
                        }

                        Console.WriteLine("");
                        Console.Write("Minimem ze zadaných čísel je číslo ");
                        Console.WriteLine(cisla.Min());
                        Console.Write("Maximem ze zadaných čísel je číslo ");
                        Console.WriteLine(cisla.Max());
                        Console.WriteLine("");
                        Console.ReadKey();
                }
        }
}

Chtěl jsem to ale převést do matice 10 na 10, to taky není problém, jen to vyhledávání pak nefunguje. Tak kdyby měl někdo nějaký nápad, budu rád. Chtěl bych to doplnit i o výpis pozice, na které se číslo nachází, ale to není prioritou.

using System;
using System.Linq;

namespace Random
{
        class Program
        {
                public static void Main(string[] args)
                {
                        int[,] cisla = new int[10,10];

                        Random R = new Random();
                        int rozsah = 1000;
                        int n;

                        for (int i=0; i<10; i++)
                        {
                                for (int j=0; j<10; j++)
                                {

                                n = R.Next(0,rozsah);
                                cisla[i,j] = n;
                                Console.Write(cisla[i,j] +"  ");
                                }
                                Console.WriteLine();
                        }
                        Console.ReadKey();
                }
        }
}
 
Odpovědět
22.1.2020 21:08
Avatar
Odpovídá na jesmot
Michael Škrášek:22.1.2020 21:39

Můžeš si ukládat min a max v průběhu generování čísel do matice:
nastavíš min a max na první číslo, vygeneruješ 2. číslo, zkontroluješ jestli není větší jak max nebo menší jak min ...

nebo můžeš využít LINQ:

int min = cisla.Cast<int>().Min();
int max = cisla.Cast<int>().Max();
Editováno 22.1.2020 21:40
Nahoru Odpovědět
22.1.2020 21:39
"I choose a lazy person to do a hard job. Because that person will find an easy way to do it. " Bill Gates
Avatar
jesmot
Člen
Avatar
Odpovídá na Michael Škrášek
jesmot:22.1.2020 22:07

Děkuji, jasně přes LINQ mě to vůbec nenapadlo. Už to krásně šlape. Moc děkuji.

 
Nahoru Odpovědět
22.1.2020 22:07
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.