algorytm.org

Implementacja w Java

Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Wyznaczanie dominanty – mody - Implementacja w Java
Ocena użytkownikóww: *****  / 5
SłabyŚwietny
Nadesłany przez Dominik Goździuk, 09 października 2011 14:53
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

Dominanta.java:
//Dominanta
//(c) Dominik Goździuk
//www.algorytm.org

import java.util.Scanner;

public class Dominanta {
	
	private static int[] tab;
	private static int[] liczby;
	private static int[] ilosc;
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.print("Podaj rozmiar tablicy: ");
		int n = sc.nextInt();
		tab = new int[n];
		
		for (int i = 0; i < n; i++) {
			System.out.print("Podaj liczbe " + (i+1) + ": ");
			tab[i] = sc.nextInt();
		}
		
		liczby = new int[n];
		ilosc = new int[n];
		int indeks = 0;
		int ileLiczb = 0;
		
		for (int i = 0; i < n; i++) {
			int temp = tab[i];
			
			for (int j = 0; j < n; j++) {
				if (liczby[j] == temp) {
					++ilosc[j];
					break;
				}
				else if (j == n-1) {
					liczby[indeks] = temp;
					ilosc[indeks] = 1;
					++indeks;
					++ileLiczb;
				}
			}
		}
		
		int dominanta = 0;
		int licznik = 1;
		for (int i = 1; i < ileLiczb; i++) {
			if (ilosc[i] > ilosc[dominanta]) {
				dominanta = i;
				licznik = 1;
			}
			else if(ilosc[i] == ilosc[dominanta]) {
				++licznik;
			}
		}
		
		if (licznik == 1) {
			System.out.println("Dominanta jest liczba " + liczby[dominanta] + ". Wystapila " + ilosc[dominanta] + " razy");
		}
		else {
			System.out.println("Nie ma dominanty");
		}
	}
}
Dodaj komentarz