1. sayfa
Biraz(!) dikkatli baktığın zaman görebileceğin bir düzen var buradaki sistemde. Örneğin: - string'in uzunluğu 1'den büyük ise sütun sayısı 2; - string'in uzunluğu 4'ten büyük ise sütun sayısı 3; - string'in uzunluğu 9'dan büyük ise sütun sayısı 4; - string'in uzunluğu 16'dan büyük ise sütun sayısı 5; - string'in uzunluğu 25'ten büyük ise sütun sayısı 6; ... (Fark 2 artarak gidiyor) Benzer şekilde: - string'in uzunluğu 2'den büyük ise satır sayısı 2; - string'in uzunluğu 6'dan büyük ise satır sayısı 3; - string'in uzunluğu 12'den büyük ise satır sayısı 4; - string'in uzunluğu 20'den büyük ise satır sayısı 5; - string'in uzunluğu 30'dan büyük ise satır sayısı 6; ... (Fark 2 artarak gidiyor) Ekrana bastıracağın matrisin satır ve sütun sayısını bulduk. Daha sonrasında en içten başlayıp farkı yine artıracak şekilde for döngüleri ile sırasıyla bir sağa bir aşağı bir sola bir yukarı gidip stringi tek tek doldurabilirsin matrisin içerisine. Burada takılırsan tekrar yardımcı olurum. İyi günler. Değişiklik : satır ve sütunu karıştırmışım |
tam olarak anlayamadım spiral matrisi array kullnmadan nasıl ekrana bastırabiliriz.matris dediğiniz array mi oluyo |
özetle sana for döngü yaparak bu işlemleri yapabilirsin diyor. Bunda anlaşılmayacak bir şey yok gayet güzelce anlatmış. Anlatıma göre de kodlamasını yap. |
for döngüleri ile sırasıyla bir sağa bir aşağı bir sola bir yukarı nasıl gidecez array kullanmadan orasını anlayamadım yanii |
burdaki video işini görür gibime geldi. http://www.youtube.com/watch?v=ocWu9sp9KyY |
Sayın arkadaşlar küçük bir detayı kaçırıyorsunuz sanırım. Adam array kullanılmayacak diyor. Ve array (şuna dizi desek) kullanmadan sağa sola vs. gitmek zor olacak gibi.
Bu adam aşmış ya yok böyle bişey. |
Kısıtlamalarda SetConsoleCursorPosition() fonksiyonunun kullanılamayacağı yok gibi |
Aşağıda yazmış olduğum kod sadece yol göstermek için. Kullanicidan almış olduğun karakter katarını 1B'lu char[] dizisine atıp ,2B'lu MxM şeklinde göstermek için. Sarmalama kısmını da sana bırakıyorum.
|
iş zaten sarmalama kısmında bide matematik fonksiyonu falan kullanmak yk |
Tamam işte sana fikir vermesi için o örneği yazdım. Yapacagin ufak tefek modifiye.Hem spiral'i hesaplamada, hem de ekrana göstermede kullanabilirsin. Matematik fonksiyonlari halledilir,zaten spiral hesaplaması için değil,ekrana göstermek içindi. Aşağıdaki kod'da matematik fonskiyonu kullanmadan,tek bir char[] kullanarak, MXM matrix şeklinde ekranda göstermek için yazilmiş hali.
Aşağıdaki kodu incele(http://www.hackchina.com/en/r/171822/shexing.cpp__html) adresinden alıntı. Kullanicidan 1<n<20 arasi matrix boytunu alip,saat yönünde tamsayilari sarmalıyor..
|
1. sayfa
örneğin
ABCDEFGHIJKLMNOPQRSTWUVY
kullanıcı şöyle bişey girsin
çıktı:
W U V Y Z
T G H I J
S F A B K
R E D C L
Q P O N M
array ve string fonkisyonu kullanılmayacak.
stringi okumak için sadece bir char arrayi kullanabilirsiniz.
< Bu mesaj bu kişi tarafından değiştirildi hannibal1903 -- 17 Ekim 2011; 1:22:10 >