c# algoirtma sorusu

+8 oy
21 Mart 2015 sanem Stajyer (670 puan)   sordu
21 Mart 2015 sanem düzenledi
benden bir araba hayal etmem istenmekte ve bu arabanın ucundaki fırçayla bazı komutlarla beraber ekrana bir şeyler çizdirmem istenmekte.tanımlanmış bir dizimiz olacak.  fırça eger aşağıya bakıyorsa 1 degeri atanacak ve * karakteri basılacak eger yukarıysa 0 degeri atanacak ve herhangi bir şey basılmayacak

1 cevap

+4 oy
22 Mart 2015 venayvazeçayld Uzman Yardımcısı (3,870 puan)   cevapladı
5 Nisan 2015 Tahsin Dalman seçti
 
En İyi Cevap
daha açıklayıcı bir şekilde analatabilir ya da ekran çıktısı örneği verebilirsen yardımcı olabiliriz.
22 Mart 2015 sanem Stajyer (670 puan)   yorumladı
Önüne fırça takılmış odada dolaşan bir oyuncak araba hayal edin. Araba C# uygulamasıyla kontrol edilmektedir. Arabadaki fırça 2 farklı konumda olabilir: aşağıda veya yukarıda. Fırça aşağıdayken aracın gittiği yerleri boyamakta, fırça yukarıdayken hiçbir şey yapmamaktadır. Sizden bu sistemi C# ta modellemeniz istenmektedir.
İçi başlangıç olarak 0 ile dolu 20*20 lik  bir dizi kullanacaksınız. Aracın nerede olduğunun, fırçanın aşağıda veya yukarıda olduğunun ve aracın yönünün kaydını tutacaksınız. Aracın ilk başta (0,0) konumunda, fırçanın yukarıda olduğunu ve aracın sağ tarafa dönük olduğunu varsayın. Aracı aşağıdaki komutlarla yöneteceksiniz.
1    Fırça aşağı
2    Fırça yukarı
3    Sağa dön
4    Sola dön
5_x    x kadar ilerle(x yerine bir sayı gelecek)
6    Diziyi görüntüle
0    Programı sonlandır(0 görürse sonraki komutları dikkate almayacak.)
 
Araç bir yerden geçerken eğer fırça aşağıda ise dizide ilgili elemana 1 değeri atanacak. Görüntülenirken 1 değeri olan yerler “*”, 0 değeri olan yerler “ ” (boşluk) olarak görüntülenecek.
 Komutlar aralarında virgül ile ayrılmış olacak. Örnek bir komut aşağıdaki gibidir.
Komutlar: 5_5,3,5_1,3,1,5_4,4,5_7,4,5_4,4,5_3,3,5_2,6,0












Komutlar çalıştığında örnek görüntü aşağıdaki gibidir.
                                                                                                
     *    *    *    *    *                                                                      
     *                                                                                          
     *                                                                                          
     *                                                                                          
     *         *    *    *                                                                      
     *                   *                                                                      
     *                   *                                                                      
     *    *    *    *    *
22 Mart 2015 sanem Stajyer (670 puan)   yorumladı
proje bu şekilde algoritmasını kurmak da zorlandım mesela bu çıktı da bir harf oluşmuş benim bu çıktıyı önceden arabaya harf olarak tanıtmam gerekir mi ?
22 Mart 2015 venayvazeçayld Uzman Yardımcısı (3,870 puan)   yorumladı
yok, onu sen verdiğin komutlarla çizdireceksin direk kodunu şimdilik yollamıyım sadece yol göstereyim takıldığın yer olursa tekrardan bizimle paylaşabilirsin.
Algoritma basit olarak şu şekilde düşünülebilir; koordinat sistemi olan bir dizi tanımlarsın koor[x][y] gibi başlandıç değerlerini 20 olarak tanımlarsın aracın ilk konumu için x = 0; y = 0; dersin switch döngüsünde kontrol ü ve çıkışı takip edeceksin caselerin içinde girilen karakterleri kontrol ettirip fırça için boolean olarak bir değişken tanımlarsın, true olduğunda x ve y koordinatlarını değiştirirken console.write ile '*' yazdırırsın (bunu while ile kontrol etmeni tavsiye ederim) boolean false olduğunda sadece x y koordinatlarını aynı şekilde " " yazdırırsın bunları düşünerek biraz uğraş bakalım takıldığın yerde yardımcı olurum yine, şu an kod yazmak için pek uygun değilim.

bir başka tavsiyem de mümkün olduğu kadar for döngüsü kullanmaktan kaçın.
22 Mart 2015 sanem Stajyer (670 puan)   yorumladı
çok teşekkür ederim şimdi bu dediklerini koda aktarmaya çalışacağım ;)
22 Mart 2015 sanem Stajyer (670 puan)   yorumladı
sağa dön sola dön ilerle komutlarını koda nasıll dökecegimi bilemedim
23 Mart 2015 venayvazeçayld Uzman Yardımcısı (3,870 puan)   yorumladı
koordinatlarını x ve y değişkenleri olarak düşünürse dizi de yön değişiminde son pozisyonuna göre x ya da y değişkenini kaç birim arttırılması gerekiyorsa (örn: 5_6 girişi yapıldı ve son konumu yukarı doğru yani y ekseninde yukarı bakıyor sağa dönmesi için x eksenini x = x+6 buradaki 6 yı bi değişken ile alırsan her seferinde istediğin değeri girer yani x = x + mesafe gibi) o eksene doğru arttırma işlemi yapmalısın çok kolay bi ödev değil bu arada uğraşacak zaman bulabilirsem bu kodu paylaşabilirim. Şu an bende kendi ödevlerimle boğuşuyorum yardımcı olamıyorum çok fazla
23 Mart 2015 sanem Stajyer (670 puan)   yorumladı
Anlıyorum teşekkür ederim yine de   :)
...