Bildirim
C# for Döngüsü
Daha Fazla
Bu Konudaki Kullanıcılar:
Daha Az
2 Misafir - 2 Masaüstü
Giriş
Mesaj
-
-
http://www.bilisimogretmeni.com/visual-studio-c/c-console-dongu-ornek-ve-uygulamalari.html BURADA N = 7 OLAN ÖRNEKTEKİNE BENZİYOR BENDE ACEMİYİM AMA BİRAZ DAHA UĞRAŞIRSAN BURADAKİ GİBİ YAPABİLİRSİN
http://www.gorselprogramlama.com/yildiz-ile-dik-ucgen-olusturma-c-console/ BURADAKİNEDE BİR BAK İSTERSEN :)
______________________________________________________________________________________________________________________
BEN ÇOK ACEMİ SAYILIRIM BİLGİN OLSUN :D
< Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 1 Mart 2017; 22:51:48 >
-
a'lar bir döngü, c'ler 2 döngü -
sunlara bi bak -
Hocam kodlar konusunda yardımcı olabilir misin acaba? Bir türlü beceremedim. -
Console.Write() kullanılmayacak ne demek anlamadım, illa WriteLine() mı kullanmamız gerekiyor.
Eğer o da yasaksa mürekkeple mi yazdıracağız
public static void Main (string[] args) {
int toplam_satir = 5;
int toplam_sutun = 2 * toplam_satir;
for (int satir = 1; satir <= toplam_satir; satir++) {
for (int sutun = 1; sutun <= toplam_sutun; sutun++) {
if ((sutun == satir) || (toplam_sutun - satir + 1 == sutun)) {
Console.Write("a");
}
else if ((sutun <= satir -1) || (sutun > (toplam_sutun-satir))) {
Console.Write("c");
}
else {
Console.Write(" ");
}
}
Console.Write("\n");
}
}
Bunlar Write() kullanılmış kodlar, toplam_satir kısmını kullanıcıdan da alabilirsiniz ben değer verdim.
İlla WriteLine() kullanın Write() olmaz diyecek bir hocanız varsa bunlar da WriteLine() kodları.
public static void Main (string[] args) {
String cikti = "";
int toplam_satir = 5;
int toplam_sutun = 2 * toplam_satir;
for (int satir = 1; satir <= toplam_satir; satir++) {
for (int sutun = 1; sutun <= toplam_sutun; sutun++) {
if ((sutun == satir) || (toplam_sutun - satir + 1 == sutun)) {
cikti += "a";
}
else if ((sutun <= satir -1) || (sutun > (toplam_sutun-satir))) {
cikti += "c";
}
else {
cikti += " ";
}
}
Console.WriteLine(cikti);
cikti = "";
}
}
Kodlardan daha önemlisi mantık, öncelikle bu tür problemlere nasıl yaklaşmanız gerektiğinden bahsedeyim.
Çıktı 2 boyutlu bir matris şeklinde, 2 boyutta sonuç aldığınız problemlerde en fazla 2 for kurulması gerekir.
if-else kısımlarındaki kuralları bulmakta zorlanıyorsanız çıktıyı kareli bir kağıda yazın, elinizde iki for var biri satırlarda dolaşıyor diğeri sütunlarda, bütün değişkenleri (a'lar, c'ler ve boşluklar değişken burada) satır ve sütun türünden bulmaya çalışın.
En iyi algoritma bu olmayabilir ama bu problem zaten n^2'den düşük karmaşıklıkla çözülemez.
-
Gerçekten çok ama çok teşekkür ederim. Mantığını biraz biraz çözdüm. Eminim birkaç örnek ve biraz daha zaman harcarsam çözebilirim. Elinize sağlık. İnanılmaz işime yaradı.
Edit: Console.Write kullanılmayacak derken alttaki şekilde yazılmasından bahsetmiştim. Sanırım biraz eksik yazmışım.
( alt tireleri boşluk olarak varsayın lütfen)
Console.WriteLine(“a________a”);
Console.WriteLine(“ca______ac”);
Console.WriteLine(“cca____acc”);
Console.WriteLine(“ccca__accc”);
Console.WriteLine(“ccccaacccc”);
< Bu mesaj bu kişi tarafından değiştirildi 34redfs4 -- 2 Mart 2017; 20:10:43 > -
Anladım çıktıyı doğrudan vermek yasak anlamında demişsiniz. Kolay gelsin. -
Tek for döngüsü ilede yapılabilir şöyle ama Hocanızın sizden istediği 2 boyutlu arrayler(multidimension) ile @assembly_bilmeyenassembler arkadaşın yaptığı gibi int sıra_sayi = 5;
int sütun_sayı = 10;
if (sütun_sayı / 2 == sıra_sayi)
{
for (int i = 0; i <= 5; i++)
{
//Burda aradaki boşluk için ne kadar alan lazım onu buluyoruz i nin 2 ile çarpılmasının sebebi sağ tarafta birde c lerin eklenenmesi.
int gecici_sag_a = sütun_sayı - (2 * i);
Console.Write(new String('c', i) + "a" + new String(' ', gecici_sag_a) + "a" + (new String('c', i)) + "
");
}
}
else Console.Write("Sütun sayısı sıra sayısının tam yarısı olmalıdır");
< Bu mesaj bu kişi tarafından değiştirildi WHITE_Wolf -- 6 Mart 2017; 17:44:41 > -
@WHITE_Wolf
Aynen sizin yaptığınız gibi satır içindeki döngüyü oluşturma işini String() kurucusunun kendisine de bırakabiliriz. Sizin kod daha temiz.
Okul hazır fonksiyonları kullanmayı unutturdu bize
Sayfa:
1
Ip işlemleri
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X