Gönderen Konu: VERİ YAPILALRI ÇOK ACİLLL  (Okunma sayısı 1888 defa)  Share 

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı sukes67

  • İlk Adım
  • *
  • İleti: 3
  • Toplam: 0
VERİ YAPILALRI ÇOK ACİLLL
« : 09 Kasım 2011, 19:09:56 »
yi akşamlar arkadaşlar.bir ödevim var fakat yapamıyorum yardımcı olabilir misiniz?şimdiden teşekkürler...  (Yığın-Labirent Ödevi)


Labirent probleminin çözümünü gerçekleştiriniz. Labirent yapısı “labirent.txt” dosyasından yada klavyeden okunabilir. Labirent yapınız aşağıdakine benzer bir içeriğe sahip olacaktır (8x8’lik bir labirent).
00110111
10101101
10010001
11010101
11000101
11111101
11110001
11110111

0 'lar labirentteki açık yolları, 1'ler ise kapalı duvarları gösterir. Labirentin giriş noktası sol üst köşesi, çıkış noktası labirentin sağ dış kenarı veya alt dış kenarı üzerinde herhangi bir nokta olabilir. Programınız çıkış yolunu bulacak ve aşağıdakine benzer bir şekilde çıkış yolunu gösterecektir.
..11.111
1.1.11.1
1..1...1
11.1.1.1
11...1.1
111111.1
1111...1
1111.111

Açıklama: Yukarıdaki problemi bağlı liste ile oluşturulmuş bir yığın (stack) yapısı kullanarak çözünüz (başka çözümler kabul edilmeyecektir.) Giriş noktasından itibaren izlenen yol bir yığına eklenebilir ve herhangi bir noktada çıkmaza girildiğinde, yığına geriye dönülerek bir önceki ayrım noktasından bir başka yola sapılır ve tekrar çıkış yolu bulunmaya çalışılır. Herhangi bir noktada sırasıyla gelinen yönden farklı olarak diğer 3 yönden birine girilerek ilerlenir; bu yönler doğu, batı, kuzey, güney olabilir. İlerlenen yolda geriye dönerek ilerleme olmamalıdır; bu seçenek diğer 3 yönden bir sonuç alınamadığında kullanılmalıdır.

Çevrimdışı WhiteScars

  • Genel Yönetici
  • Usta
  • *****
  • İleti: 1047
  • Toplam: 143
  • (,^^)
Ynt: VERİ YAPILALRI ÇOK ACİLLL
« Yanıtla #1 : 15 Kasım 2011, 19:00:56 »
Selamlar,

Aslında ödevin çok zor  değil fakat, iyi bir programlama bilgisi istiyor. Mantıken şöyle yapabilirsin. Labirent'i 2 boyutlu bir arrayin içine koyup, sürekli ikili bir loop taraması yapıp bulunduğun noktanın sağı, solu üstü ve altında 0 var mı yokmu diye kontrol edersin. Her harekette, gittiğin yolu (koordinatı bir stack içine yazarsın, eğer gittiğin yol çıkmaz yol olursa, stack'tan birer pop yapıp bir gerideki adıma gidersin.

Kolay gelsin.

Eğer bir şeyler yapabildiysen paylaş bakalım.

İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir...

Bilişim Forum

Ynt: VERİ YAPILALRI ÇOK ACİLLL
« Yanıtla #1 : 15 Kasım 2011, 19:00:56 »

 

İstediğiniz Sorudan Başlayabilirsiniz | Doktor a Sor