Bu dizilerin küçülme özelliği çok hoşuma gitti. Ayrıca örneğin bir diziyi küçültmek istediğimizde geçen süre dizinin uzunluğundan bağımsızmış. İşte palindrom programı:
import std.conv, std.stdio;
int main (string[] parametreler) {
// Program isminden kurtuluyoruz
parametreler = parametreler[1 .. $];
while (parametreler.length >= 2) {
if (to!int(parametreler[0]) != to!int(parametreler[$ - 1])) {
writeln ("palindrom değil");
return 1;
}
parametreler = parametreler[1 .. $ - 1]; // her seferinde dizinin
// başından ve sonundan 1
// eleman kısaltıyoruz
}
writeln("palindrom");
return 0;
}
Bu program kendisine parametre olarak geçilen sayıların palindrom olup olmadığını buluyor. Örneğin [1, 3, 6, 18, 6, 3, 1] palindrom iken [1, 3, 6, 18, 6, 3, 2] palindrom değil. Yani ilk elemanla son eleman eşit, ikinci elemanla sondan bir önceki eleman eşit vs.. bu şekilde giden sayılar palindrom oluyor. Programı şu şekilde kullanıyoruz:
'palindrom 34 95 48'
Bu şekilde kullandığımızda parametreler ["palindrom" "34" "95" "48"] değerlerini alıyor. İlk yaptığımız program ismini parametreler listesinden çıkarmak.
'!toint('dizgi')' ifadesi de dizgiyi tamsayıya çeviriyor. Hoş nedense bende bunu kullanmadan da çalıştı :)
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]