Sinüzoidal metin


30

Hedef: Bir giriş dizesini sinüzoidal bir şekilde basan bir program veya işlev yazın.

ASCII sinüzoid

İşte sinüzoidin bir dönemi:

         .......                                 
      ...       ...                              
    ..             ..                            
   .                 .                           
  .                   .                          
 .                     .                         
.                       .                       .
                         .                     . 
                          .                   .  
                           .                 .   
                            ..             ..    
                              ...       ...      
                                 .......         

Her sütunda tam olarak bir nokta olduğuna dikkat edin.

  • Giriş dizesindeki her karakter, soldan sağa doğru, yukarıdaki şekilde bir noktayı değiştirir.
  • Girişteki boşluklar nokta yerine normal karakterler gibi çıkarılmalıdır.
  • Başlangıç ​​karakteri yukarıdaki şekilde en soldaki noktaya karşılık gelir.
  • Bu sadece bir dönemdir, girdiler yukarıdaki nokta sayısından daha uzun olabilir.

Giriş

  • Girişler, yalnızca ASCII ondalık 32 (boşluk) ve ASCII ondalık 126 (Tilde ~) arasındaki karakterleri içeren ASCII dizeleridir.
  • Girişler her zaman yalnızca bir satır olacak (satır sonu yok).
  • Girdiler STDIN, işlev parametreleri, komut satırı argümanları veya benzeri bir şeyle alınabilir.

Çıktı

  • Çıktı tam olarak verilen test durumlarında olduğu gibi yazdırılmalıdır.
  • Çizgilerdeki iz boşluklarına, bu iz boşluklarına sahip çizginin uzunluğu en uzun çizginin uzunluğunu geçmediği sürece izin verilir (üzerinde en son karaktere sahip olan).
  • Baştaki / sondaki çizgiye izin verilmiyor.

Test durumları

  • Giriş: .................................................

Çıktı:

         .......                                 
      ...       ...                              
    ..             ..                            
   .                 .                           
  .                   .                          
 .                     .                         
.                       .                       .
                         .                     . 
                          .                   .  
                           .                 .   
                            ..             ..    
                              ...       ...      
                                 .......         
  • Giriş: Programming Puzzles & Code Golf Stack Exchange is a question and answer site for programming puzzle enthusiasts and code golfers. It's 100% free, no registration required.

Çıktı:

         ng Puzz                                         ion and                                         siasts                                          stratio           
      mmi       les                                   est        an                                   thu       and                                   egi       n r        
    ra              &                               qu             sw                               en              c                                r             eq      
   g                                                                 e                                               o                             o                 u     
  o                   C                           a                   r                           e                   d                           n                   i    
 r                     o                                                                         l                     e                                               r   
P                       d                       s                       s                       z                                               ,                       e  
                         e                     i                         i                     z                         g                     e                         d 
                                                                          t                   u                           o                   e                           .
                           G                 e                             e                 p                             l                 r                             
                            ol             ng                                f             g                                fe              f                              
                              f S       cha                                   or        min                                   rs.       00%                                
                                 tack Ex                                         program                                          It's 1                                   
  • Giriş: Short text.

Çıktı:

         t.
      tex  
    t      
   r       
  o        
 h         
S          
  • Giriş: The quick brown fox jumps over the lazy dog

Çıktı:

          brown                            
      ick       fox                        
    qu              j                      
                     u                     
  e                   m                    
 h                     p                   
T                       s                  

                          o                
                           v               
                            er             
                               th       dog
                                 e lazy    

puanlama

Bu , yani bayt cinsinden en kısa program veya işlev kazanır.



Oh, gerçekten de biraz benzer olduğunu görüyorum.
Ölüm

Bu arada, senin dalga değil oldukça sinüsoidal. (Doğal olarak onu sinyeniden üretmek için bir işlev kullanmayı denedim , ancak pozisyonlar biraz kapalı.)
David Z

@DavidZ Bu beni şaşırtmadı, ASCII şeklini gözüme çarptım. Sütunlarda "boşluk" olmayan bir sinüzoidal bile bulabilir misiniz (yani, sütun başına tam olarak bir nokta)?
15'te

4
Test çantası 2'nin çıkışındaki kaydırma çubuğunu gerçekten hızlı ileri geri hareket ettirerek kendimi eğlendirmek için birkaç dakika geçirdim.
mbomb007

Yanıtlar:


7

Pyth, 59 bayt (57 karakter)

Xjb.sC.>V+R*12\ Xz\ C9*+-L12K+JsM._+6jC\཈2tP_JKlz]*dlzC9d

Gösteri.

3912 değerinde bir ikili arama tablosu kodlanır. Bu, vererek, ikili değere dönüştürülür [1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0]. Bu ardışık yükseklikler arasındaki farklar olarak kabul edilir. Bir 6 hazırlayarak, tüm önekleri oluşturarak ve her birini toplamıyla eşleyerek dalganın ilk çeyreği oluşturulur.

sM._+6jC\཈2[6, 7, 8, 9, 10, 10, 11, 11, 11, 12, 12, 12, 12]yukarıda açıklandığı şekilde değerlendirir . Daha sonra, kod dalganın ilk yarısını oluşturmak için bu dizgenin tersinde bir araya gelir ve ardından tüm dalgayı vermek için 12'den çıkarır.

Ardından, her giriş karakterinden sonra 12 boşluktan oluşan satırlar oluştururuz. Bu çizgi o konuma karşılık gelen dalga yüksekliği parametresi tarafından sağa döndürülür ve sonra çizgiler çevrilir ve yeni hatlara birleştirilir.

Ardından boş satırları önde ve izleyenleri soyun. Bununla birlikte, girişten boşlukları olan satır satırları veya sondaki boş satırları çıkaramıyoruz. Bu, girişteki boşlukları girişte C9bulunamayan sekmeler ( ) ile değiştirmek , boş satırları çıkarmak ve sekmeleri boşluklara geri döndürmek suretiyle gerçekleştirilir.


@FryAmTheEggman 16 bayt pahasına düzeltildi.
isaacg

12

Python 2, 156 bayt

l=map(int,"654322111%08d1122345"%1);l+=[12-c for c in l]
def f(t):
 h=len(t);o=bytearray(' '*h+'\n')*13;i=0
 for c in t:o[i-~h*l[i%48]]=c;i+=1
 print o[:-1]

açıklama

  • Kodun tamamı basitçe bir boşluk bloğu ( o) yapar ve doğru boşlukları girdi harfleriyle değiştirir t.

  • Değişken lüstten bir ofset listesini saklar. Böylece nth karakteri ton line olmalıdır l[n].

  • Bytearray o, dizeler python içinde değişmez olduğu için değişken bir dize görevi görür.

  • -~hh+1parantez gerekmez çünkü aynıdır ama yerden tasarruf sağlar.


7

Java, 219 209 199 bayt

void p(char[]s){int r=6,c;String t="";for(;r>-7;r--,t+='\n')for(c=0;c<s.length;c++)t+=(s(c%48)==r?s[c]:' ');System.out.println(t);}int s(int a){return a<4?a:a<6?4:a<9?5:a<15?6:a<24?s(24-a):-s(a-24);}

Ben hala burada bir acemiyim ve umarım bu bir alt işlevi tanıtmanın kurallarına uygun (umarım bu fonksiyonun baytları sayılırsa). Değilse, sinişlevi bazı akıllı dizi aramaya dönüştürmeye çalışacağım ...

public class SinusText
{
    public static void main(String[] args)
    {
        SinusText s = new SinusText();
        s.p(".................................................".toCharArray());
        s.p("Programming Puzzles & Code Golf Stack Exchange is a question and answer site for programming puzzle enthusiasts and code golfers. It's 100% free, no registration required.".toCharArray());
        s.p("Short text.".toCharArray());
        s.p("The quick brown fox jumps over the lazy dog".toCharArray());
    }
    void p(char[]s){int r=6,c;String t="";for(;r>-7;r--,t+='\n')for(c=0;c<s.length;c++)t+=(s(c%48)==r?s[c]:' ');System.out.println(t);}int s(int a){return a<4?a:a<6?4:a<9?5:a<15?6:a<24?s(24-a):-s(a-24);}
}

1
Dize dayalı bazı zorluklar için, girdiyi a olarak alırsanız tasarruf edersiniz char[]. İşte, bu kurtulmak istiyorum ()üzerine lengthve ortadan charAt()sıra. Düzgün okuyorsam, bir kaç tane daha tasarruf etmek print()yerine kullanabilirsin println().
Geobits,

@Geobitler Bunlar benim bilmediğim özgürlük dereceleridir. Görev tanımı bir "String" hakkında konuşuyor, bu yüzden ilgili dilin "THE" String temsili olması gerektiğini düşündüm. ...
Marco13

Evet, bir süre önce meta hakkında sormuştum. İşte başvuru için bir link: meta.codegolf.stackexchange.com/q/2214/14215
Geobits

Teşekkürler, o zaman 209. (Belki bir kaç bayt daha sonra sıkmaya çalışacağım. "Günah" işlevi hala çok ayrıntılı görünüyor ...)
Marco13

1
Hmm, çok büyük bir gelişme değil, ancak her şeyi modül 48 yaparak 10 kesebilirsiniz. Sonunu değiştirin ...a<24?s(24-a):-s(a-24);ve ile arayın s(c%48).
Geobits,

4

Perl, 222 bayt

$n[$_%13].=substr$l[$_/13],$_%13,1for 0..13*(@l=map{(map{sprintf"%013b",$_}@t=(64,128,256,512,(1024)x2,(2048)x3),(4096)x7,reverse@u=(32,16,8,4,4,2,2,2),(1)x7,(reverse@u),@t)[$-++%48]=~s/./$&?$_:$"/egr}<>=~/./g);$,=$/;say@n

gerektirir -Eiçinsay , mağazalar tamsayılar ikili sayılara döküm ve dizinin saygısız muhtemelen çok verimli bayt-akıllıca değildir olarak pozisyonlar. Ayrıca yapacağım çok fazla tasarruf olduğuna eminim, bu yüzden alay etmeye ve üretmeye devam edeceğim.

Örnek çıktı:

$perl -E '$n[$_%13].=substr$l[$_/13],$_%13,1for 0..13*(@l=map{(map{sprintf"%013b",$_}@t=(64,128,256,512,(1024)x2,(2048)x3),(4096)x7,reverse@u=(32,16,8,4,4,2,2,2),(1)x7,(reverse@u),@t)[$-++%48]=~s/./$&?$_:$"/egr}<>=~/./g);$,=$/;say@n' <<< '.................................................'
         .......                                 
      ...       ...                              
    ..             ..                            
   .                 .                           
  .                   .                          
 .                     .                         
.                       .                       .
                         .                     . 
                          .                   .  
                           .                 .   
                            ..             ..    
                              ...       ...      
                                 .......         

$perl -E '$n[$_%13].=substr$l[$_/13],$_%13,1for 0..13*(@l=map{(map{sprintf"%013b",$_}@t=(64,128,256,512,(1024)x2,(2048)x3),(4096)x7,reverse@u=(32,16,8,4,4,2,2,2),(1)x7,(reverse@u),@t)[$-++%48]=~s/./$&?$_:$"/egr}<>=~/./g);$,=$/;say@n' <<< 'Programming Puzzles & Code Golf Stack Exchange is a question and answer site for programming puzzle enthusiasts and code golfers. It'\''s 100% free, no registration required.'
         ng Puzz                                         ion and                                         siasts                                          stratio           
      mmi       les                                   est        an                                   thu       and                                   egi       n r        
    ra              &                               qu             sw                               en              c                                r             eq      
   g                                                                 e                                               o                             o                 u     
  o                   C                           a                   r                           e                   d                           n                   i    
 r                     o                                                                         l                     e                                               r   
P                       d                       s                       s                       z                                               ,                       e  
                         e                     i                         i                     z                         g                     e                         d 
                                                                          t                   u                           o                   e                           .
                           G                 e                             e                 p                             l                 r                             
                            ol             ng                                f             g                                fe              f                              
                              f S       cha                                   or        min                                   rs.       00%                                
                                 tack Ex                                         program                                          It's 1                                   

3

JavaScript, 251 243 224 220 217

Gerçekten basit bir uygulama: dalgadaki her karakterin y-konumunu temsil eden bir karakter dizisi kullanır (ofset a, ASCII kodu 97). Daha sonra olası tüm satırları tekrar eder; Geçerli satırın y değeri, dalgadaki y konumu ile aynıysa, dizgiden bir karakter yazar. Sonunda, tamamen boş olduğu ortaya çıktığında satırı kaldırmak için bir de temizleme var.

alert()Monospaced bir font kullanmıyorsa , çıktının pencerede riskli görüneceğini console.log(), çıktının doğru olduğunu doğrulamak için değiştirebilirsiniz .

s=prompt(o=[])
for(y=i=0;y<13;++y){o[i]=""
for(x=0;x<s.length;++x)o[i]+=y=="gfedccbbbaaaaaaabbbccdefghijkklllmmmmmmmlllkkjih".charCodeAt(x%48)-97?s[x]:" "
if(o[i++].trim().length<1)o.splice(--i,1)}
alert(o.join("\n"))

EDIT1: ++ve --var.

EDIT2: Boş satır silme işlemi geri kalanla aynı döngüde yapılıyor ve 17 karakter kaydediliyor. Fazladan 2 karakter için bu parantezlere de gerek yoktu.

EDIT3: Dalga formunu bir değişken olarak ilan etmenize gerek yoktur, 4 karakter tasarruf sağlar.

EDIT4: Dom Hastings'in yorumlarda işaret ettiği gibi, bayt sayısı, satırbaşının yanı sıra yeni satır karakterini de içeriyordu, satır sayısının hariç tutulması için tüm revizyonların bayt sayıları güncellendi.

EDIT5: 3 bayt Dom Hastings'in izni ile kurtarıldı. o.spliceBu, boş satırları kaldıramadığı için düzeltmeyi uygulamadım (en azından benim tarafımda).


1
İyi iş! Değiştir: Birkaç yerleri bayt bir çift daha kaydedebilirsiniz if(o[i++].trim().length<1)o.splice(--i,1)ile o.splice(i-(t=!o[i++].match(/\s/)),t), -4 için, s=prompt() o=[]: ile s=prompt(o=[]), -1 ve for(y=0,i=0;y<13;++y){o[i]=""birlikte for(y=i=0;y<13;++y){o[i]="", -2. Bu birleştirmek mümkün.Böylece senin döngüler çok daha fazla tasarruf etmek için ... Son bir şey, sizin 225 pencere olabilir bu yüzden sadece, geçerli bayt sayısı için 220 olması yanı belirterek 's değerinde \r\nyerine sadece \nseni görmezden gelebilirsiniz varsayalım (lütfen hatalıysam beni düzeltin) ...
Dom Hastings

Taşıma dönüşünde iyi yakalama! Bir dahaki sefere Notepad ++ 'a çok güvenmiyorum :)
Sean Latham

Sanırım bunu 166'ya düşürdüm. Başka biri doğrulayabilir mi? Dizi davranışını program boyunca bir günlük olarak değiştirdim. if ifadesi yerine kısa devre kullandım ve logu ilk for döngüsünün sonuna getirerek köşebentlerden kurtuldum. for(s=prompt(),y=0;y<13;y++,v.trim()&&console.log(v))for(v="",x=0;x<s.length;x++)v+=y=="gfedccbbbaaaaaaabbbccdefghijkklllmmmmmmmlllkkjih".charCodeAt(x%48)-97?s[x]:" "
Vartan

== çıkarma ile değiştirmek için sahte sıfır kullanma, 165 karakter for(s=prompt(y=0);y<13;y++,v.trim()&&console.log(v))for(v="",x=0;x<s.length;x++)v+="gfedccbbbaaaaaaabbbccdefghijkklllmmmmmmmlllkkjih".charCodeAt(x%48)-97-y?" ":s[x]
Vartan 21

Ben sorun heres pastebin yani benim yorumun yapıştırarak yaşıyorum bit.ly/1VQgGXw 217-> 166 =% 76
Vartan

3

Matlab, 133 , 130 bayt

Bir astar:

s=input('');y=ceil(5.6*sin(0:pi/24:pi-.1).^.9);l=[-y y]+7;n=numel(s);t=repmat(' ',13,n);for k=1:n;t(l(mod(k-1,48)+1),k)=s(k);end;t

Ve genişletilmiş sürüm:

function f(s)
    y=ceil(5.6*sin(0:pi/24:pi-.1).^.9);l=[-y y]+7;  %// calculate the line number for each column position
    n=numel(s);                                     %// number of character in input
    t=repmat(' ',13,n);                             %// Create a blank canvas of whitespace characters
    for k=1:n
        t(l(mod(k-1,48)+1),k)=s(k);                 %// place each input character where it should be
    end
    t                                               %// force the output display

Bir astar konsoldan ( stdin) girdi alır ve 130 bayttır. Genişletilmiş sürüm, konsol girişini işlev tanımı (+1 byte) ile değiştirir, ancak bir döngüde test durumu için kullanımı çok daha kolaydır:


Açıklama:

Her karakterin satır dizini yarım dönem için hesaplanır, sonra yansıtılır ve tam bir süre olacak şekilde birleştirilir.
Boşluk boşluk karakterinden oluşan boş bir arka plan oluşturuyoruz (giriş dizesiyle aynı uzunluk. Her bir karakteri ilgili satırdaki konumuna göre yerleştiririz. Giriş dizesi bir dönemden uzunsa, mod(modulo) operatörü bunu sarar. t Satır numarası istenirken sınır dışına çıkmayın.


Test durumu:

İşlev sürümünü textsine.myolunuzun altına kaydedin, sonra çalıştırın:

s = {'.................................................';...
    'Programming Puzzles & Code Golf Stack Exchange is a question and answer site for programming puzzle enthusiasts and code golfers. It''s 100% free, no registration required.';...
    'Short text.';...
    'The quick brown fox jumps over the lazy dog'};

for txtcase=1:4
    textsine(s{txtcase,1})
end

çıkacak:

t =

         .......                                 
      ...       ...                              
    ..             ..                            
   .                 .                           
  .                   .                          
 .                     .                         
.                       .                       .
                         .                     . 
                          .                   .  
                           .                 .   
                            ..             ..    
                              ...       ...      
                                 .......         


t =

         ng Puzz                                         ion and                                         siasts                                          stratio           
      mmi       les                                   est        an                                   thu       and                                   egi       n r        
    ra              &                               qu             sw                               en              c                                r             eq      
   g                                                                 e                                               o                             o                 u     
  o                   C                           a                   r                           e                   d                           n                   i    
 r                     o                                                                         l                     e                                               r   
P                       d                       s                       s                       z                                               ,                       e  
                         e                     i                         i                     z                         g                     e                         d 
                                                                          t                   u                           o                   e                           .
                           G                 e                             e                 p                             l                 r                             
                            ol             ng                                f             g                                fe              f                              
                              f S       cha                                   or        min                                   rs.       00%                                
                                 tack Ex                                         program                                          It's 1                                   


t =

         t.
      tex  
    t      
   r       
  o        
 h         
S          








t =

          brown                            
      ick       fox                        
    qu              j                      
                     u                     
  e                   m                    
 h                     p                   
T                       s                  

                          o                
                           v               
                            er             
                               th       dog
                                 e lazy    

Eğer girişi ile bir liner sürümünü test etmek istiyorsanız stdin, sizin girişi olarak girilecek olan bir tek stringsen arasına girdi içine olurdu, böylece 'karakterler. Örnek:

'Short text.'   %//   valid input
Short text.     %// INVALID input

Luis Mendo3 bayt kadar tıraş için teşekkürler ;-)


@LuisMendo, kaydedilen 3 bayt için teşekkürler :-). Uygun bir dizgenin nasıl girileceğini açıkladım, böylece basit s=input('');yine de işe yarayacaktı.
Hoki

2

Scala 377 karakter

ilk kesim. muhtemelen çevirmek xiçin daha iyi bir formül bulabilirsiny

(s:String)⇒s.zipWithIndex.map(t⇒(t._1,t._2,t._2%48 match{
case i if i<5⇒6-i
case 5|19⇒2
case 6|7|8|16|17|18⇒1
case i if i<16⇒0
case i if i<29⇒i%20+2
case 29|43⇒10
case 30|31|32|40|41|42⇒11
case i if i<40⇒12
case i if i>43⇒10-i%44
})).groupBy(_._3).toSeq.map{case(y,xs)⇒(""→0/:xs.sortBy(_._2)){case((p,l),(c,x,_))⇒(p+" "*(x-l-1)+c)→x}._1→y}.sortBy(_._2).map(_._1).mkString("\n")

1

Ortak Lisp, 205 bayt

(lambda(s &aux p v o)(dotimes(r 13)(setf o 0 p v v(round(*(/ 24 pi)(+(asin(-(/ r 6)1))pi))))(when p(map()(lambda(c)(princ(if(some(lambda(k)(<= p(mod k 48)(1- v)))`(,o,(- 23 o)))c" "))(incf o))s)(terpri))))

Testler

Http://pastebin.com/raw.php?i=zZ520FTU adresine bakın.

Uyarılar

Ters sinüs işlevi kullanılarak yazdırılması gereken dizelerdeki dizinleri hesaplayarak çıktı satırını satır yazdırın asin. Çıktı, sorudaki beklenen girdilerle tam olarak eşleşmiyor, ancak OP, örnek çıktıların gerçek sinüs olmadığını kabul ettiğinden, bunun doğru olduğunu tahmin ediyorum. En azından her sütun için her zaman yalnızca bir karakter yazılır.


1

Python 2, 172 bayt

Bu Alex L'nin cevabı kadar iyi değil , ama çok yakın. Standart girdiden girdi alır ve bir .pydosyada en iyi şekilde çalışır .

l=map(int,bin(9960000)[2:]);l+=[-c for c in l];s=6;o=[];i=9
for c in raw_input():b=[' ']*13;b[s]=c;o+=[b];s+=l[i%48];i+=1
print''.join(sum(zip(*o+['\n'*13])[::-1],())[:-1])

Transfer edilen çıktıyı oluşturmaya karar verdim (her sütun bir satırdır) ve sonra sonucu dönüştürürüm, çünkü python'da bir matrisin devridir map(*m).

  • l: İkili gösterimi 9960000(doğrama sonra "0b"gelen bin) 'dir 100101111111101001000000. Bu, en düşük noktanın en son karakterinden başlayarak, her sütunun sinüs dalgasının "aşaması" dır. Bu listeyi kopyalarım, her sayıyı reddederim ve fonksiyonun bir türevini etkin bir şekilde oluşturmak için kendisinin sonuna getiririm.
  • s: Bu, bir sonraki karakterin hangi satırın (devrikteki sütun) eklendiğini izleyen değişkendir.
  • o: Son çıktı, aktarılmış
  • i: Sinüs dalgası periyodunu izler. lHafifçe kaydırıldığından 9'da başlar .

In fordöngü, (Ben daha kısa baskı deyimi sahip çıkmak bytearrays ama karakter listeleri kullanıyordum) 13 boşluk listesi oluşturmak, sonra da yerines girdi karakteri ile inci karakter. Ekleme bsonuna ouygun adımı ekleyin sve artışı i.

İfadenin bu printkadar basit olacağını ummuştum\n'.join(*zip(o)) , ama böyle bir şans yok. zip(*o+['\n'*13])[::-1]bir yeni satırlar sütunu ekler ve sonra her şeyi tersine çevirir ve transpoze eder (tersine çevirmeden, sinüs dalgası baş aşağıdır), sum(...,())perdeleri bir karakter dizisinde ''.join(...)birleştirir ve ardından karakterleri birleştirir ve yazdırır.

Çalıştığım diğer şeyler, 12 karakterlik bir boşluk dizisi oluşturmak ve yeni karakteri uygun yere yerleştirmek ve l+=[-c for c in l];bir çeşit matematiği, bir çeşit çarpma ile 1ve -1indekslemenin sonucuyla değiştirmekti l, ama hiçbir şey bulamadım. sona erdi kısa.


0

Mathematica, 131 bayt

i=[input string];c=Characters@i;l=Length@c;StringJoin@Riffle[StringJoin@@@SparseArray[Table[{7-Round[6 Sin[.13(x-1)]],x},{x,l}]->c,{13,l}," "],"\n"]

Üçü de dahil olmak üzere 131 karakter i=foo;. Girdiyi almak için makul bir yol gibiydi; Doğrudan tanımına koyabilirdimc bir kaç vuruş kurtarabildim, ama bu haksızlık.

Oldukça basit - neredeyse bile okunabilir. Dizgiyi bir karakter listesine böler ve sonra bu karakterleri,Table ('karakter varsayılan değerlerine bir alana varsayılan olarak verilmemiş olan dizilerdeki herhangi bir nokta)' . Satırlar ayrı olarak birleştirilir, ardından yeni satırlar aralarına serpilir. Son StringJoin hepsini dikti.

NB: Diğer bazı çözümler gibi, bu da geçerli olmayabilir, çünkü (güzel) el yapımı örnek yerine gerçek bir sinüzoit üretir.

Testler:

(*i=Programming Puzzles...*)
         ng Puzz                                          on and                                          iasts                                           tration          
       mi       le                                     sti       a                                      us      and                                     is        r        
     am           s                                   e           ns                                  th            c                                 eg           eq      
    r               &                               qu              we                              en               o                               r               u     
  og                  C                                               r                                               d                            o                  ir   
 r                     o                          a                                               e                    e                          n                     e  
P                       d                       s                       si                       l                       g                                               d 
                         e                     i                          t                    zz                         o                     ,                         .
                           G                                               e                  u                            lf                 ee                           
                            o               ge                               f               p                               e               r                             
                             lf           an                                  or           g                                  rs            f                              
                                St      ch                                       p      min                                     .        0%                                
                                  ack Ex                                          rogram                                          It's 10                                  
(*i=.... ...*)
         .......                                 
       ..       ..                               
     ..           ..                             
    .               .                            
  ..                 ..                          
 .                     .                         
.                       .                       .
                         ..                    . 
                           .                  .  
                            .               ..   
                             ..           ..     
                               ...      ..       
                                  ......         
(*i= Short text.*)
         t.
       ex  
      t    
    t      
  or       
 h         
S          





(*i=The quick...*)              
          brown                            
       ck       fo                         
     ui           x                        
    q               j                      
  e                  um                    
 h                     p                   
T                       s                  
                          o                
                           v               
                            e              
                             r            g
                               the      do 
                                   lazy    
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.