İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C # Ev Yapımı

İisaa28.02.20182 cevap1.254 görüntüleme
2017'den beri7 mesaj
#1
Hızlı Resim - Hızlı ve Kolay Resim Paylaşımı - resim yükle - resim paylaş
Şekilde de görüldüğü gibi evin genişliği 25 karakterdir. Evin yüksekliği, genişliğinin yarısı kadardır. (25/2 = 12) Evin bir de çatısı vardır. Çatının yüksekliği, evin yüksekliğinin yarısının 1 fazlasıdır. (12/2+1 = 7) Çatının sol tarafı “/” karakteri ile sağ tarafı “\” karakteri ile çizilmelidir. Çatının merkezi ise “+” karakteri ile çizilmelidir.
Evin kapısının genişliği, çatının yüksekliği ile aynıdır. (7 karakter) Kapının yüksekliği ise kapı genişliğinin yarısının bir fazlasıdır. (7/2+1 =4) Kapı evin taban kısmının tam ortasında yer almaktadır. Kapı kısmının ortası “*” karakteri ile ve evin geri kalanı “0” karakteri ile doldurulmalıdır.
bu kosula uygun sekılde sadece kapı yapamadım kapıyı nasıl yapacagım hakkında fıkır verebılecek var mı?
Cevaplar
2018'den beri85 mesaj
#2
kapının genişliği , yüksekliği değerlerini değişkenlere attığını varsayarsak
genişlik=7
yükseklik=4
tabanın genişliği (kapı + sağ sıfırlar + sol sıfırlar) tabangenislik dersek (resimde 25 görünüyor)
yukarıdan bir döngü ( 0 dan 4 e kadar) =yukseklik için
soldan sağa bir döngü ( 0 dan 25 e kadar)=taban genisliği için

solsıfırlar=9 adet =(tabangenisligi(25) / 2 ) - kapıgenisligi(7)/2 + 1 formülü ile bulunur.
* işaretinin sol ve sağında taban genişliğinin yarısı kadar eleman var(kendisini sayma ve tek sayı olacağından üste yuvarlama yapmaz alta yuvarlama yapar yani 25/2=12 olur)

kapıbosluk=3=(tabangenisligi/2) - solsıfırlar şeklinde bulunur.

for(int i=0;i<yukseklik;i++)
{
for(int j=0 ; j < tabangenisligi ; j++)
{

if( j < solsıfırlar || j>= (tabangenisligi/2)+kapıbosluk ; j++)
{
-- burada sağ ve sol sıfırlar yazılır.
-- yüklediğin resim için uyarlarsak j < 9 veya j > 25/2 +3 yani j>15 olduğunda sıfır yaz
console.write("0");
}
if( j>= solsıfırlar && j =<tabangenisligi - solsıfırlar)
{
-- kapı için olan kısmı burada ortadaki boşluk ve yıldız dahil.
-- j > 9 ve j =< 25-9 yani 16
--bu döngü içinde yıldız ise kontrolü yapacağız.

if( j== tabangenisligi/2+1) yani 13 ise yıldız demek
{
console.write("*");
break;
-- burada break kullandık çünkü 9-16 aralığında kapı var.bu aralık için hep boşluk yazdırıyoruz.burada eğer 13 elemanda isek j nin bu döngüsünü bitir diğerine git diyoruz.yani alttaki console.write(" "); kısmını okuma diyoruz.aksi halde 1 boşluk fazla yazılmış olur.
}
console.write(" ");
}
}
}

algoritmayı test etmedim.
İisaa Konuyu açan
2017'den beri7 mesaj
#3
Tamadır kardesım soruyu dun gece cozdum ben yınede sagolasın tesekkurler ılgı ve alakan ıcın

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.