Průnik dvou množin – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Průnik dvou množin – Java – Fórum – Programujte.comPrůnik dvou množin – Java – Fórum – Programujte.com

 

vasek2300
Duch
3. 1. 2016   #1
-
0
-

Dobrý den, dělám program na průnik dvou množin a mám tam problémy s tím , že se mi nespojí s hlavní metodou main metody nacteniPole a prunikMnozin. Poradíte, prosím, čím to může být?

 static Scanner cti=new Scanner(System.in);
     public static void main(String[] args) {
      int pole [];
      pole = nacteniPole();
      vypsatPole(pole);
      int finalni[];
      finalni = prunikMnozin(pole);
      vypsatPole(finalni);
    }
    public static int[] nacteniPole(int[] pole)
    {
        Scanner sc = new Scanner(System.in);
        
        int n;
        
        System.out.print("Zadejte počet prvků n: ");
        n = Integer.parseInt(sc.nextLine());
        pole = new int[n];
        
        for (int i = 0; i < n; i++)
        {
            System.out.print("Zadejte " + i + ". prvek množiny z " + n + ". : ");
            pole[i] = Integer.parseInt(sc.nextLine());
        }
        
        return pole;
    }
    public static void vypsatPole(int[] pole)
    {
        for (int i : pole)
        {
            System.out.print(i + " ");
        }
    }
    public static int[] prunikMnozin(int[] mnozinaA, int[] mnozinaB)
    {
        int[] tmp = mnozinaA.length > mnozinaB.length ? new int[mnozinaA.length] : new int[mnozinaB.length];
        int index = 0;
        
        for (int i = 0; i < mnozinaA.length; i++)
        {
            for (int j = 0; j < mnozinaB.length; j++)
            {
                if (mnozinaA[i] == mnozinaB[j])
                {
                    tmp[index] = mnozinaA[i];
                    index++;
                }
            }
        }
        
        int[] ret = new int[index];
        
        for (int i = 0; i < index; i++)
        {
            ret[i] = tmp[i];
        }
        
        return ret;
    }}
Nahlásit jako SPAM
IP: 90.177.127.–
ondrej39+1
Věrný člen
3. 1. 2016   #2
-
0
-

Hm, procedurální programování v Javě.

Nahlásit jako SPAM
IP: 79.141.243.–
Inject all the dependencies!
Kit+15
Guru
3. 1. 2016   #3
-
0
-

#1 vasek230
To fakt máš dělat procedurálně a místo množin používat pole?

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:207:e...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
vasek2300
Duch
4. 1. 2016   #4
-
0
-

#3 Kit
jj máme to zapisovat do jednorozměrných polí

Nahlásit jako SPAM
IP: 90.177.127.–
sleepy
~ Anonymní uživatel
422 příspěvků
4. 1. 2016   #5
-
0
-

A keby si to nakopiroval do pola a potom pouzil taku vec ze Set<Integer> intSet = new HashSet<>(Arrays.asList(array)); A nakoniec setA.retainAll(setB). Dalsia vec nacitas jedno pole signatura metody prunik su dve polia. V prunik mnozin preco nepouzijes funkciu min hned v prvom riadku, lebo viac ako min to byt nemoze? Dalsia vec uz keby si len tie polia sortol, dostanes zlozitost O(n log(n)), namiesto O (n^2), lebo vies spravit nieco take ze mas a_1...,a_{i}, a_{i+1},... a nech a_i < b_k < b_{k+1} < ... < b_l < a_{i+1}, vsetky tie b mozes vynechat.

Nahlásit jako SPAM
IP: 90.64.83.–
Kit+15
Guru
4. 1. 2016   #6
-
0
-

#4 vasek230
Objektově to dělat také nesmíte? Divná výuka...

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
vasek2300
Duch
4. 1. 2016   #7
-
0
-

#6 Kit
v zadání je, že máme používat metody

Nahlásit jako SPAM
IP: 90.177.127.–
Kit+15
Guru
4. 1. 2016   #8
-
0
-

#7 vasek230
To nic neříká o objektovosti. Ve své úloze jsi nevytvořil ani jeden vlastní objekt. Přitom v zadání máš průnik dvou množin. Měl bys tedy definovat ty dvě množiny jako dva objekty jedné třídy. Jejich průnik jako metodu této třídy.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 52 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý