TurkProgrammers.NeT
Ana sayfa Ana Sayfa | Ana sayfanız yapın | Sık kullanılanlara ekle | Rss/Rdf Besleme| JavaScript
Bölümler
Arşiv
paz sa ça cu cum pa
1234
567891011
12131415161718
19202122232425
262728293031

Mailinizi ekleyin
Haberlere abone olun:

anket: Web Programcılığının Geleceğini nasıl görüyorsunuz
Web Programcılığının Geleceğini nasıl görüyorsunuz?
Önü Fazlası ile açık
ilerde yapacak web sitesi kalmayacak
Hazır sistemler işleri iyice bitirecek
Bugünden daha kötü olamaz
Anket sonuçları | Eski Anketler


email Arkadaşınızın maili | print Yazıcı versionu | comment Yanıtlar (0 Gönder)

Php ile Sihirli Kare Yapma (tek sayılar için)

by şeyhmus aydoğdu on Mart 26,2008

image

Arkadaşlar sizlere bulmacalarda sıkça bu yazıda da girilen tk sayıya göre sihirli kare oluşturmayı gösterecem.

Mesela 1'den 9'a kadar olan bir sihirli kare

 8 1 6
 3 5 7
 4 9 2 

şeklinde olur. Bunu dahada genişletebiliriz. Bu kareyi oluşturmayı sağlayan php script aşağıda verilmiştir.

 

<form action="" name="main" method="post">
<table align="center">
<tr><td align="center">Girilecek olan sayı</td></tr>
<tr><td><input type="text" name="sayi"></td></tr>
<tr><td align="center"><input type="submit" name="onay" value="Kare Oluştur"></td></tr>
</table></form>

<?php

if(isset($_POST['onay'])){
 $dizi1=range(1,100);
 $dizi2=range(1,100);
 $dizi=array($dizi1,$dizi2);
 $sayi=(int)$_POST['sayi'];
 $sayikare=$sayi*$sayi;
 for($i=1;$i<=$sayi;$i++){
  for($j=1;$j<=$sayi;$j++){
   $dizi[$i][$j]=0;
  }
 }
 $i=1;
 $j=floor(($sayi+1)/2);
 
 for ($k=1;$k<=$sayikare;$k++){
  if($dizi[$i][$j]>0){
   $i=$i+2;
   $j=$j-1;
  }
  $dizi[$i][$j]=$k;
  $i=$i-1;
  $j=$j+1;
  if (($i==0) and ($j>$sayi)){
   $i=$i+2;
   $j=$j-1;
  }
  if ($i==0){
   $i=$sayi;
   
  }
  if ($j>$sayi){
   $j=1;
  }  
 }
 echo "<table border=\"2\" align=\"center\"><tr>";
 for($i=1;$i<=$sayi;$i++){
  echo "</tr><tr>";
  for($j=1;$j<=$sayi;$j++){
   $a=$dizi[$i][$j];
   print "<td align=\"center\">$a</td>";
  }
}
}
?></tr></table>


348 Kere okundu

Bu makaleyi beyendinizmi ?

1 2 3 4 5 Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00 (Toplam 6 Oylar)
comment Yanıtlar (0 Gönder)
Çok okunanlar
En Çok Yorumlananlar
Yazarlar