Merhaba kodun amacı Text dosyasındaki sayıları büyükten kücüge veyahut küçükten büyüge göre sıralıyor ister bir sayı ile istersek birden fazla ile listeliyebiliyoruz. ileri ki zamanlarda daha gelişmiş halide gelicek. Kod
: 1 2 4 5 8 10 15 25 32 44
: 1 2 4 5 8
: 1
: 1000
: 1000 444 333 54 50
: 1000 444 333 54 50 45 44 32 25 15
Kod
//echo : $sayisirala(dosya.txt enkucuk).10
Kod
//echo : $sayisirala(dosya.txt enbuyuk).10
Kod
;Kod Baslangic
;
alias sayisirala {
tokenize 32 $1
unset %enbuyuk %enkucuk
if !$1 { return Text Belgesini Yaziniz. Orn: $!sayisirala(ornek.txt enbuyuk).10 }
if !$isfile($1) { return dosya bulunamadi.. }
if $prop !isnum { return En buyuk kactane rakam siralama yapacagini belirtin. Orn: $!sayisirala(ornek.txt enbuyuk).10 }
if $prop > $lines($1) { return Uzgunum, dosyanizda $v2 satir var }
var %topkac $prop, %j = 1
while %j <= %topkac {
var %i 0
set %z 0
set %y 42584398923849238459239582392334288249
while %i <= $lines($1) {
var %sa = $read($1,%i)
if %sa > %z && !$istok(%enbuyuk,%sa,32) { set %z %sa }
if %sa < %y && !$istok(%enkucuk,%sa,32) { set %y %sa }
inc %i
}
set %enbuyuk %enbuyuk %z
set %enkucuk %enkucuk %y
unset %z %y
inc %j
}
if ($2 == enbuyuk) return %enbuyuk
if ($2 == enkucuk) return %enkucuk
}
; Kod Bitis
; Kullanim: echo $sayisirala(dosya.txt enbuyuk).10
; ya da
; echo : $sayisirala(dosya.txt enkucuk).5
; ya da
; echo : $sayisirala(dosya.txt enbuyuk).1
; ya da
; echo : $sayisirala(dosya.txt enkucuk).1
; ya da
; echo : $sayisirala(dosya.txt enbuyuk).15