lostyazilim
tr.link

Hemen C# For döngüsünü öğrenmem lazım

14 Mesajlar 2.412 Okunma
acebozum
tr.link

servet6666 servet6666 bilgieksenim.com Kullanıcı
  • Üyelik 26.02.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci, Bloggerci
  • Konum Hatay
  • Ad Soyad S** A**
  • Mesajlar 93
  • Beğeniler 22 / 4
  • Ticaret 0, (%0)

Referee adlı üyeden alıntı

Özür diliyorum sorunu eksik okumuşum bu program kare yapmıyor ama hemen istediğin programı yazıyorum, biraz bekleteceğim.


Ek Olarak: Mesajınızı geç gördüğüm ve yanlış okuduğum için programı c yerine işini tam olarak görecek c#dilinde hazırladım. Umarım öğrenmenize yardımcı olur. Açıklama satırlarını okursanız mantığı anlayacağınızı umuyorum. Yinede soruların olursa yanıtlamaya çalışırım. Tekrar başarılar.

Program görseli :




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("Yildiz edetini girin : ");
String yildiz_adeti = Console.ReadLine(); // String olarak kullanıcıdan yıldiz adeti alındı.
int int_yildiz_adeti = Int32.Parse(yildiz_adeti); // String ifade integer ifadeye dönüştürüldü.

if (int_yildiz_adeti % 4 != 0) // Sayının 4'e modunu aldık ve kare yapılabilirliğini kontrol ettik.
{
Console.WriteLine("Bu degerlerden bir kare yapilamaz..");
}
else
{
int en_ust_satirdaki_yildiz_sayisi = int_yildiz_adeti/4;
int ust_satir_sayaci;
int alt_bolumde_atilacak_bosluk_sayisi = 1;
for (ust_satir_sayaci = 1; ust_satir_sayaci <= en_ust_satirdaki_yildiz_sayisi; ust_satir_sayaci++)
{
Console.Write("*");
alt_bolumde_atilacak_bosluk_sayisi++;
}

alt_bolumde_atilacak_bosluk_sayisi -= 2; // alt bölümde atılacak boşluk sayısı üst satırdaki en baş ve en son * ların çıkarılması ile belirlendi.
String string_olarak_boslugun_yazimi = " ";
String string_olarak_yildizin_yazimi = "*";
int bosluk_sayaci;
String yeni_string_olarak_boslugun_yazimi = ""; // başta boş
String yeni_string_olarak_yildizin_yazimi = "";

for(bosluk_sayaci=1; bosluk_sayaci < alt_bolumde_atilacak_bosluk_sayisi; bosluk_sayaci++){
yeni_string_olarak_boslugun_yazimi = yeni_string_olarak_boslugun_yazimi+string_olarak_boslugun_yazimi;
yeni_string_olarak_yildizin_yazimi = yeni_string_olarak_yildizin_yazimi+string_olarak_yildizin_yazimi;
}

Console.WriteLine("");
for (ust_satir_sayaci = 1; ust_satir_sayaci < en_ust_satirdaki_yildiz_sayisi; ust_satir_sayaci++)
{
if (ust_satir_sayaci == alt_bolumde_atilacak_bosluk_sayisi) // Son satırdaysa.
{
Console.WriteLine("*" + yeni_string_olarak_yildizin_yazimi + "*");
}
else
{
Console.WriteLine("*" + yeni_string_olarak_boslugun_yazimi + "*"); // Ara satırdaysa
}
}
}



Console.ReadLine(); // konsolu ekranda tutmaya yarar.
}
}
}



Teşekkür ederim, uğraşınız için ama siz yıldız adetini girdiriyorsunuz, ben kenar uzunluğunu girdirilmesini istiyorum; Örneğin 6 girecem

******
* *
* *
* *
* *
******

Yukardaki gibi şekil olacak. Tabii kare olmuyor burda (siz bunun karesini düşünün)
 

 

wmaraci
reklam

Referee Referee Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.10.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgisayar Mühendisi
  • Konum Ankara
  • Ad Soyad Ö** A**
  • Mesajlar 504
  • Beğeniler 20 / 127
  • Ticaret 44, (%98)

servet6666 adlı üyeden alıntı

Teşekkür ederim, uğraşınız için ama siz yıldız adetini girdiriyorsunuz, ben kenar uzunluğunu girdirilmesini istiyorum; Örneğin 6 girecem

******
* *
* *
* *
* *
******

Yukardaki gibi şekil olacak. Tabii kare olmuyor burda (siz bunun karesini düşünün)


Hocam çok hazırcısınız :D . Sadece 1 satırı değiştirerek yapabilirdiniz. Buyrun program kodu.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.Write("Kanar uzunluğunu girin : ");
String yildiz_adeti = Console.ReadLine(); // String olarak kullanıcıdan yıldiz adeti alındı.
int int_yildiz_adeti = Int32.Parse(yildiz_adeti); // String ifade integer ifadeye dönüştürüldü.


int en_ust_satirdaki_yildiz_sayisi = int_yildiz_adeti;
int ust_satir_sayaci;
int alt_bolumde_atilacak_bosluk_sayisi = 1;
for (ust_satir_sayaci = 1; ust_satir_sayaci <= en_ust_satirdaki_yildiz_sayisi; ust_satir_sayaci++)
{
Console.Write("*");
alt_bolumde_atilacak_bosluk_sayisi++;
}

alt_bolumde_atilacak_bosluk_sayisi -= 2; // alt bölümde atılacak boşluk sayısı üst satırdaki en baş ve en son * ların çıkarılması ile belirlendi.
String string_olarak_boslugun_yazimi = " ";
String string_olarak_yildizin_yazimi = "*";
int bosluk_sayaci;
String yeni_string_olarak_boslugun_yazimi = ""; // başta boş
String yeni_string_olarak_yildizin_yazimi = "";

for (bosluk_sayaci = 1; bosluk_sayaci < alt_bolumde_atilacak_bosluk_sayisi; bosluk_sayaci++)
{
yeni_string_olarak_boslugun_yazimi = yeni_string_olarak_boslugun_yazimi + string_olarak_boslugun_yazimi;
yeni_string_olarak_yildizin_yazimi = yeni_string_olarak_yildizin_yazimi + string_olarak_yildizin_yazimi;
}

Console.WriteLine("");
for (ust_satir_sayaci = 1; ust_satir_sayaci < en_ust_satirdaki_yildiz_sayisi; ust_satir_sayaci++)
{
if (ust_satir_sayaci == alt_bolumde_atilacak_bosluk_sayisi) // Son satırdaysa.
{
Console.WriteLine("*" + yeni_string_olarak_yildizin_yazimi + "*");
}
else
{
Console.WriteLine("*" + yeni_string_olarak_boslugun_yazimi + "*"); // Ara satırdaysa
}
}




Console.ReadLine(); // konsolu ekranda tutmaya yarar.
}
}
}
servet6666

kişi bu mesajı beğendi.

servet6666 servet6666 bilgieksenim.com Kullanıcı
  • Üyelik 26.02.2015
  • Yaş/Cinsiyet 28 / E
  • Meslek Öğrenci, Bloggerci
  • Konum Hatay
  • Ad Soyad S** A**
  • Mesajlar 93
  • Beğeniler 22 / 4
  • Ticaret 0, (%0)
Yok hocam kodlara çok fazla bakamadım bile, biraz işim vardı, sadece ekran görüntüsüne baktım. Teşekkürler.
 

 

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
Java'da for Döngüsü

Dilin çok önemi yok, önemli olan mantık.
 

 

www.ontedi.com
www.cizgi.site
wmaraci
wmaraci
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al