Gyakorlati alapok

A leggyakoribb szám

 

Ebben a fejezetben nem lesz semmi meglepetésszerű; -50 és +50 közötti véletlenszámokból álló tartományból listázzuk ki a számgyakoriságokat. Minden programozás-technikai trükk az előző fejezetek egyikében már szerepelt, kivéve talán egyet, egy kevésbé érthető deklarációt:

 

tombTarolo[tomb[i]+50]++;

 

A deklaráció helyettesíthető a következővel:

 

int gyakorisagTombIndex = tomb[i]+50;
tombTarolo[gyakorisagTombIndex]++;

 

Ennek működőképességét alább a 2. kódban mutatjuk meg.

 

Mivel a számtartomány -50 és +50 között mozog, a legkisebb pozitív szám mindig +1 vagy környékén lesz. Ez ugyan eléggé triviális feltétel, vele végeredmény, ám programozási feladatnak így is kiváló.

 

Nézzük meg a futtatható Java-kódokat!

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 

 

import java.util.Random;

public class Main{
public static void main(String[] args) {
    Random rnd = new Random();
    int tomb[] = new int[300];
    int tombTarolo[] = new int[100];
    int minimum = 100;
    int szamlalo = 0;

    for (int i = 0; i < tomb.length; i++) {
        tomb[i] = rnd.nextInt(100) - 50;
        System.out.print(tomb[i] + " ");
    }

    System.out.println();
    for (int i = 0; i < tomb.length; i++) {
        tombTarolo[tomb[i]+50]++;
    }

    for(int i = 10; i < tombTarolo.length; i++) {
        if(minimum > tombTarolo[i] && tombTarolo[i] != 0){
            minimum = tombTarolo[i];
        }
    System.out.println((i-50) + ". számból: " + tombTarolo[i]);
    }
    System.out.println("A tömbben lévő legkisebb pozitív szám: " + minimum);

    for(int i = 10; i < tombTarolo.length; i++) {
        if(tombTarolo[i] == minimum){
            szamlalo++;
        }
    }
    System.out.println("A tömbben lévő legkisebb pozitív szám

                                (" + minimum + ") előfordulása: " + szamlalo + "x");
    }
}
 

Végeredmény (például):

-5 -31 -36 34 1 27 -42 42 -25 -30 21 -21 -39 11 -8 14 9 3 46 -44 2 -43 -40 2 37 20 -1 5 22 30 17 27 44 12 -25 -44 -9 2 29 -31 -50 -37 28 3 -33 0 -18 46 -25 6 1 20 8 -38 35 38 9 -32 35 -50 -40 15 -13 -36 -1 12 30 -21 -50 -46 20 -33 10 -45 30 14 -38 -30 -34 -28 30 -27 -6 48 4 1 45 -12 4 12 -46 12 -35 -9 -38 -36 3 -6 -18 5 16 46 -35 34 -47 -35 -24 -8 -6 41 -20 3 -6 39 14 16 30 -30 -50 37 41 13 -15 43 -23 -50 -8 -32 -19 10 -26 36 -26 17 19 26 -39 31 28 37 43 -35 -4 -8 8 37 40 4 29 26 14 -8 25 3 -25 11 15 -36 18 47 -1 15 -9 29 36 -38 42 6 -43 -6 -26 -3 24 22 45 46 26 -18 44 -9 -5 -13 29 26 -2 -50 41 24 13 21 37 13 3 -46 41 40 -10 26 -42 38 -7 -39 49 -24 -50 -24 37 2 14 16 -36 -37 2 19 -45 2 -50 29 27 -18 -31 10 15 43 -16 38 2 49 -49 6 48 -21 46 34 38 -15 -31 4 -33 35 -8 48 -3 38 6 -23 -28 -32 17 49 44 -16 -20 30 -46 12 31 45 21 -36 32 -21 10 -20 35 6 20 -18 -27 25 -45 49 -42 -27 42 -14 41 33 -28 21 5 14 -16 -8 17 -24 4 -44 22 48 24 -31 37 48 25 5 -4 4 -8 -15
-40. számból: 2
-39. számból: 3
-38. számból: 4
-37. számból: 2
-36. számból: 6
-35. számból: 4
-34. számból: 1
-33. számból: 3
-32. számból: 3
-31. számból: 5
-30. számból: 3
-29. számból: 0
-28. számból: 3
-27. számból: 3
-26. számból: 3
-25. számból: 4
-24. számból: 4
-23. számból: 2
-22. számból: 0
-21. számból: 4
-20. számból: 3
-19. számból: 1
-18. számból: 5
-17. számból: 0
-16. számból: 3
-15. számból: 3
-14. számból: 1
-13. számból: 2
-12. számból: 1
-11. számból: 0
-10. számból: 1
-9. számból: 4
-8. számból: 8
-7. számból: 1
-6. számból: 5
-5. számból: 2
-4. számból: 2
-3. számból: 2
-2. számból: 1
-1. számból: 3
0. számból: 1
1. számból: 3
2. számból: 7
3. számból: 6
4. számból: 6
5. számból: 4
6. számból: 5
7. számból: 0
8. számból: 2
9. számból: 2
10. számból: 4
11. számból: 2
12. számból: 5
13. számból: 3
14. számból: 6
15. számból: 4
16. számból: 3
17. számból: 4
18. számból: 1
19. számból: 2
20. számból: 4
21. számból: 4
22. számból: 3
23. számból: 0
24. számból: 3
25. számból: 3
26. számból: 5
27. számból: 3
28. számból: 2
29. számból: 5
30. számból: 6
31. számból: 2
32. számból: 1
33. számból: 1
34. számból: 3
35. számból: 4
36. számból: 2
37. számból: 7
38. számból: 5
39. számból: 1
40. számból: 2
41. számból: 5
42. számból: 3
43. számból: 3
44. számból: 3
45. számból: 3
46. számból: 5
47. számból: 1
48. számból: 5
49. számból: 4
A tömbben lévő legkisebb pozitív szám: 1
A tömbben lévő legkisebb pozitív szám (1) előfordulása: 13x

 

www.informatika-programozas.hu - Futtatható Java-kód!

 

 

 

 

 

 

 

 

import java.util.Random;

public class Main{
public static void main(String[] args) {
    Random rnd = new Random();
    int tomb[] = new int[300];
    int tombTarolo[] = new int[100];
    int minimum = 100;
    int szamlalo = 0;

    for (int i = 0; i < tomb.length; i++) {
        tomb[i] = rnd.nextInt(100) - 50;
        System.out.print(tomb[i] + " ");
    }

    System.out.println();
    for (int i = 0; i < tomb.length; i++) {

        int gyakorisagTombIndex = tomb[i]+50;
        tombTarolo[gyakorisagTombIndex]++;

    }

    for(int i = 10; i < tombTarolo.length; i++) {
        if(minimum > tombTarolo[i] && tombTarolo[i] != 0){
            minimum = tombTarolo[i];
        }
    System.out.println((i-50) + ". számból: " + tombTarolo[i]);
    }
    System.out.println("A tömbben lévő legkisebb pozitív szám: " + minimum);

    for(int i = 10; i < tombTarolo.length; i++) {
        if(tombTarolo[i] == minimum){
            szamlalo++;
        }
    }
    System.out.println("A tömbben lévő legkisebb pozitív szám

                                (" + minimum + ") előfordulása: " + szamlalo + "x");
    }
}
 

Végeredmény (például):

-36 -26 42 -26 -27 -36 44 36 -41 3 -43 -37 -17 13 45 -30 -40 14 21 10 -49 -1 47 -22 -3 8 -38 -2 43 -18 3 -36 17 -25 45 21 -49 -33 34 1 -8 -16 -10 14 24 6 25 -6 -19 4 -7 6 14 -4 34 -2 41 -22 39 -37 -37 -31 14 -5 -37 31 48 19 7 -25 11 -39 -1 44 32 -35 16 -20 -11 -41 -24 40 44 -18 -18 -41 -38 -37 -12 -49 0 46 10 -25 -12 -22 9 7 -4 44 32 -26 15 -32 31 38 -19 28 -11 27 18 4 7 29 26 -8 3 -4 -12 -42 -25 -18 -19 -30 -34 -24 32 -14 16 3 -7 -25 -1 17 -13 -5 -18 44 43 -49 -42 15 -49 17 -37 12 43 -42 -31 39 15 -15 -2 4 45 24 -23 -20 -5 41 -5 41 -22 14 -35 13 26 5 2 30 -13 42 -4 -36 44 26 -25 -28 -6 22 -15 -8 -28 34 8 -36 -50 -12 -14 -49 0 -2 -48 44 -19 7 -25 20 -31 -50 39 33 17 -44 25 -18 6 48 49 -42 -47 14 -11 -37 -15 -39 -34 -37 38 -46 -27 -11 -37 29 9 22 49 -25 7 -48 47 15 6 49 45 -2 7 5 20 -34 -14 17 -17 34 -45 -4 21 -4 -49 -24 -9 -46 -46 10 37 27 -18 43 45 -3 -17 11 33 26 -1 1 27 40 48 -7 -38 -44 -43 38 3 20 -6 -21 14 -31 28 -28 -41 -29 13 -42 49 42 -28 21 -13 -37 18 7 -22 -30 6 49 -1 38
-40. számból: 1
-39. számból: 2
-38. számból: 3
-37. számból: 10
-36. számból: 5
-35. számból: 2
-34. számból: 3
-33. számból: 1
-32. számból: 1
-31. számból: 4
-30. számból: 3
-29. számból: 1
-28. számból: 4
-27. számból: 2
-26. számból: 3
-25. számból: 8
-24. számból: 3
-23. számból: 1
-22. számból: 5
-21. számból: 1
-20. számból: 2
-19. számból: 4
-18. számból: 7
-17. számból: 3
-16. számból: 1
-15. számból: 3
-14. számból: 3
-13. számból: 3
-12. számból: 4
-11. számból: 4
-10. számból: 1
-9. számból: 1
-8. számból: 3
-7. számból: 3
-6. számból: 3
-5. számból: 4
-4. számból: 6
-3. számból: 2
-2. számból: 5
-1. számból: 5
0. számból: 2
1. számból: 2
2. számból: 1
3. számból: 5
4. számból: 3
5. számból: 2
6. számból: 5
7. számból: 7
8. számból: 2
9. számból: 2
10. számból: 3
11. számból: 2
12. számból: 1
13. számból: 3
14. számból: 7
15. számból: 4
16. számból: 2
17. számból: 5
18. számból: 2
19. számból: 1
20. számból: 3
21. számból: 4
22. számból: 2
23. számból: 0
24. számból: 2
25. számból: 2
26. számból: 4
27. számból: 3
28. számból: 2
29. számból: 2
30. számból: 1
31. számból: 2
32. számból: 3
33. számból: 2
34. számból: 4
35. számból: 0
36. számból: 1
37. számból: 1
38. számból: 4
39. számból: 3
40. számból: 2
41. számból: 3
42. számból: 3
43. számból: 4
44. számból: 7
45. számból: 5
46. számból: 1
47. számból: 2
48. számból: 3
49. számból: 5
A tömbben lévő legkisebb pozitív szám: 1
A tömbben lévő legkisebb pozitív szám (1) előfordulása: 16x