IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   mIRC Challenge (Meydan Okuma) (https://www.ircforumlari.net/mirc-challenge-meydan-okuma/)
-   -   Challenge: $Rtext(String) (https://www.ircforumlari.net/mirc-challenge-meydan-okuma/820488-rtextstring.html)

IrCbaStarD 12 Mayıs 2019 04:35

$Rtext(String)
 
Selamlar;
mIRC Scripting sevenler için açmış olduğumuz ilk Challenge(Meydan Okuma) yarışmamızı başlatıyoruz.

Amaç: Herhangi bir veri kaybı yaşanmadan Text içindeki karakterlerin yerlerini değiştirmek

Kurallar:
(1) Regex($regex - $regsub - $regsubex), $mid, socket, dll, com kullanılamaz.

(2) Text içinde karakterler yer değiştirildiğinde karakter kaybı yaşanmamalıdır. Text içinde olmayan karakterler text’e dahil edilmemelidir. Yalnızca Text’in mevcut karakterleri yer değiştirebilir.


Kod:

       
Örnek1:
//echo -a $rtext(abcdef)
Sonuçlar:
befadc
eabcfd
dbfeac
becadf
afcbed
dacfeb
beadcf
ecfbda
cbdfea

Örnek2:
//echo –a $rtext(Feragat)
Sonuçlar:
Faetgar
graaeFt
rageFta
terFaga
teraFga
gFaetra
rFeagat
gFatare
egatrFa

Örnek3:
//echo -a $rtext(1234567890ABCDEFGHIJKLMNOPRSTUVYZabcdefghijklmnoprstuvyz)
Sonuçlar:
Rih2ZUYHMTtE0mbLlJzsvBu6GA8S3DVCeFOkyfKogPj79p4acrNIn5d1
pGn03BdF2iUo8DKAlMRHvjJuz4myeLZfS6N5O7rcaTYCEIktsVh91Pgb
7bNuORcz1yIpPGnLjBd9UCeK5lM6JDaZH02SEtkVv8Yr3TF4smhAoifg
N8blfF0ynijd7uYcLvMR2S5CaOk6hzmGeIBs9ErJZDpUKHPA3Tt1V4go
RkDHs87YMg2bZFhedUPcTC5zuNIyj6mGalB9vfOKntrp0L4V13AoESiJ
Ur6NPFh8eZylgizYdf9MGc7p5Jt2IsAH1mnTVbvCLojRuSDE3O0aB4kK
ePEbA3CHs2UohgMIGlzNKZ967y0pYkdvJatTfBL4rRi8DV5OjS1Fncum
for7Amlt36M4J2GRNYnDKBaUeijzEHI1bTZS9VyhgCLFdpvk8csO5Pu0
ZDRYEBGKtLa23FAUsfb9vPkyNuiCzmS85n6hJ0VOeM1dH4oTjpcI7rlg
mcCkt7aoI32PvynAjhZ6RMdi9ObpSLes1GDFK0H4YVuJlN8zTgBEr5fU


Bilgilendirme;

(1) Kodlar PM(Özel Mesaj) olarak IrCbaStarD nickine atılmalıdır veya irc.swiftirc.net - #msl.tr kanalında SrjN nickine özel mesaj olarak atılabilir. PM veya /q Nick dışında paylaşılan kodlar gerçersiz sayılacak ve kişi yarışmadan elenecektir.
(2) İstenilen kodu en kısa ve stabil yazan kazanacaktır. (Byte olarak)
(3) Yarışma bitiş süresi 1 hafta+ “19 Mayıs Pazar Saat: 20:00” günüdür. (Gerek duyulursa kısa bir süre uzatılabilir. [+3 gün.])
(4) İsteyen herkes yarışmaya katılabilir. Şimdiden başarılar.

IrCbaStarD 19 Mayıs 2019 23:47

Cevap: $Rtext(String)
 
$Rtext(String)

Yarışma süresi dolmuştur arkadaşlar, yarışmaya katılım sağlayan arkadaşlara teşekkür ediyorum kendi adıma.

Yarisma kod boyutlari windows notepad boyutu ile ölçtük.

1. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 202 byte.

Kod:

Rtext { :r | var %a $r(1,$len($1)),%b $addtok(%b,%a,32),%s $len($1) | if $numtok(%b,32) == %s { while %s { var %k %k $+ $right($left($1,$token(%b,%s,32)),1)) | dec %s } | return %k } | else { goto r } }

Analiz:

2 Döngü
4 Değişken
7 Identifier

2. IrCbaStarD 229 byte.

Kod:


rtext %n = | hfree -w s | var %f $len($1),%x %f | while %f { var %r $r(1,[ %x ]) | if ($istok(%n,%r,3)) continue | %n = $addtok(%n,%r,3) | hadd -m s s $+($iif($hget(s,s),$v1),$right($left($1,%r),1)) | dec %f } | return $hget(s,s)

Analiz:

1 Döngü
4 Değişken
6 Identifier
1 Hash

3. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 237 byte

Kod:


rtext unset %b %v | var %k $strip($1), %t $len(%k) | while %t { .set %b %b $right($left(%k,%t),1) | dec %t } | :. | var %h $token(%b,$r(1,$token(%b,0,32)),32) | .set %v $+(%v,%h) | .set %b $remtok(%b,%h,32) | $iif(!%b,return %v) | goto .

Analiz

2 döngü
5 değişken
6 identifier
1 Hash

4. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 246 btye

Kod:


rtext %x = | %c = | %d = $len($1) | var %b 1 | while ? { inc -u %a | %c = $addtok(%c,$r(1,%d),32) | if ($numtok(%c,32) >= %d) break } | while %b <= $numtok(%c,32) { %x = %x $right($left($1,$token(%c,%b,32)),1) | inc %b } | return $remove(%x,$chr(32))

2 döngü
5 değişken
7 identifier

5. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 1000+ byte

Kod:

alias _replace { return $replace($1-,a,$+(a,$chr(189)),b,$+(b,$chr(189)),c,$+(c,$chr(189)),d,$+(d,$chr(189)),e,$+(e,$chr(189)),f,$+(f,$chr(189)),g,$+(g,$chr(189)),ç,$+(ç,$chr(189)),?,$+(?,$chr(189)),h,$+(h,$chr(189)),?,$+(?,$chr(189)),i,$+(i,$chr(189)),j,$+(j,$chr(189)),k,$+(k,$chr(189)),l,$+(l,$chr(189)),m,$+(m,$chr(189)),n,$+(n,$chr(189)),o,$+(o,$chr(189)),ö,$+(ö,$chr(189)),p,$+(p,$chr(189)),r,$+(r,$chr(189)),s,$+(s,$chr(189)),?,$+(?,$chr(189)),t,$+(t,$chr(189)),u,$+(u,$chr(189)),ü,$+(ü,$chr(189)),v,$+(v,$chr(189)),y,$+(y,$chr(189)),z,$+(z,$chr(189)),x,$+(x,$chr(189)),w,$+(w,$chr(189)),q,$+(q,$chr(189))) }
alias faktoriyel { var %i = 1,%t = 1,%y = $calc($len($1) -1) | while %i <= $len($1) { inc %t $calc(%t * %y) | inc %i | dec %y } | return %t }
alias terscevir { var %i = 0 | while %i < $len($1) { var %kk $+(%kk,$gettok($_replace($1),$calc($len($1) - %i),189)) | inc %i } | return $right(%kk,$len($1)) }
rtext {
  var %i = 1,%qt = $calc($faktoriyel($1) /2)
  set %qq $+($right($1,$calc($len($1) -1)),$left($1,1))
  while %i <= %qt {
    var %qq = $+($right(%qq,$calc($len($1) -1)),$left(%qq,1))
    echo -a  %qq
    inc %i
  }
  var %i = 1,%qt = $calc($faktoriyel($terscevir($1)) /2)
  set %qq $+($right($terscevir($1),$calc($len($terscevir($1)) -1)),$left($terscevir($1),1))
  while %i <= %qt {
    var %qq = $+($right(%qq,$calc($len($terscevir($1)) -1)),$left(%qq,1))
    echo -a  %qq
    inc %i
  }
}

Analiz:

Herşey bol bol kullanılmış :D

@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] 'n kodu yarışma koşullarına uymuyor fakat katılım sağlama adına boş durmayıp bir şeyler yapmaya çalıştı buda kendi acımızdan takdire şayan.

Feragat 20 Mayıs 2019 00:02

Cevap: $Rtext(String)
 
Yarışmaya katılan arkadaşların hepsine teşekkürler.
1. olan @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ı da tebrik ederim.

Amacımız bu işi sevenlerin katılım sağlamasıydı. Herkesin işleri uğraşları vs var ama madem bu iş hobimiz, kısa bir zaman ayırabiliriz. Şahsen ben de katılım sağlamak adına 1-2 saat uğraşıp ilk yaptığım halini @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] ile paylaştım.

Yeni sorularla challenge devam edecek.

Kolay gelsin.

Toprak 20 Mayıs 2019 00:04

Cevap: $Rtext(String)
 
Katılım sağlayanların ellerine sağlık, baya hamlamışız :hahah:

Alper 20 Mayıs 2019 00:13

Cevap: $Rtext(String)
 
Emeği geçen herkese teşekkür ederim. Bu tarz şeyler iyi oluyor farklı yollar bulmak keşfetmek adına. Devamı gelir inşallah.


Teşekkürler @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] :)

nikotin 20 Mayıs 2019 00:22

Cevap: $Rtext(String)
 
Sonucu sabırsızlıkla bekliyordum öyle ki tarayıcının yer imlerine bile eklemistim yani .d
Bu yarısmada difuzyon'u da görmek isterdim.

Tebrikler pCkOpAt :)


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 09:34.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk