Pogledajte određenu poruku
Staro 02. 11. 2007.   #16
kliklik
novi član
 
Datum učlanjenja: 02.11.2007
Lokacija: Belgrade, Serbia
Poruke: 1
Hvala: 0
0 "Hvala" u 0 poruka
kliklik is on a distinguished road
Pošaljite poruku preko Skype™ za kliklik
Default

Citat:
Originalno napisao Misha Pogledajte poruku
Osnovni brojevi od 5 pa nadalje se ne menjaju po padezima.

Znaci ovako nekako je valjda pravilno:
dva dinara, tri dinara, petsto dinara
dvoje ljudi, troje ljudi, petstotina ljudi
Naravno da se menjaju!

Za one sa nepravilnom množinom:
500 ljudi
501 čovek
502 čoveka
503 čoveka
504 čoveka
505 ljudi
...


Za one sa pravilnom množinom:
500 dinara
501 dinar
502 dinara
503 dinara
504 dinara
505 dinara
...

Kôd:
function declinate($num = 0, $cases) {
	if (array_key_exists($num, $cases)) {
		return $cases[$num];
	}
	$num %= 100;
	if ($num > 4 and $num < 20) {
		return declinate(5, $cases);
	}
	$num %= 10;
	return declinate($num, $cases);
}

$mnozine['nominativ'] = array('ljudi', 'čovek', 'čoveka', 'čoveka', 'čoveka', 'ljudi');
for ($i = 0; $i < 30; $i++) {
	echo sprintf("%d:\t%s\n", $i, declinate($i, $mnozine['nominativ']));
}
kliklik je offline   Odgovorite uz citat