İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. SDN Forum
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C++ da yıldızlarla üçgen

Konu bilgisi

18cevap
26 bingörüntüleme
10.2013açıldı
26.07.2020son cevap

#1


ekrana bu üçgeni yazdırak program lazım. yardımlarınızı bekliyorum..
Cevaplar
#2
nerede takıldın onu söyle yardımcı olalım :)
-TurkishKence Konuyu açan
#3
okulda derste iç içe for dögüsüyle 8x8 kare yeptık bunu ödev verdi. aklıma hiç bişey geliyo. daha 2 hafta önce başladım..
#4
Sadece 2 dakikalık çalışmayla c# da bu kodu yazdım. Düşününce daha efektif çözüm tabiki bulunabilir ama dediğim gibi ama 2 dakikada bundan iyi şamdan kayısı bence.

string a = " ";
for (int i = 1; i < 10; i = i + 2)
{
int j=(9-i)/2;
for (int k=1;k<=j;k++)
{
Console.Write(a);


}
for(int m=1;m<=i;m=m+1)
{
Console.Write("*");
}
for (int l=1;l<=j;l++)
{
Console.Write(a);


}
Console.WriteLine("");
}
Console.ReadKey();

Bu kodu c++ kolayca çevirebilrsin. C#la ilgili kısa bilgi vermek gerekirse Console.Write ekrana yazı yazdırma printf komutu gibi. Console.Writeline da fark olarak yeni satırdan yazmaya başlarsın. Write da ise aynı satırda yazmaya. printf in içinde /n yaptığında yeni satıra geçiş yapıyordu ya onla aynı. string =düz yazı şeklinde değişken tanımlama,
int ise tam sayı olarak değişken tanımlama. For döngüsü bildiğin sayac işte. C# da süslü parantez içine yazıyorsun. süzlü parantezi kapattıın yer for döngüsünün bitişi oluyor.
Console.ReadKey ise programın çalışması bittiğinde siyah pencerenin kapanmaması için.

C++ derleyim olsa hızlıca çevirirdim ama derleyicim yok. Açıkcası c++ bırakalı uzun zaman oldu tamda hatırlamıyorum.

Not: Eğer hoca istenildiği yıldız kadar bu satırların devam etmesini istiyorsa o zaman "9" yerine en alt satırda olması gereken yıldız sayısını vereceksin, yada kullanıcının girmesini isteyeceksin. Yani yukarıdaki 9, enalt satırda olan yıldız sayısıdır.

- - - Mesaj Güncellendi - - -

Buda ekran çıktısı

-TurkishKence Konuyu açan
#6




pritf dediğiniz galiba cout oluyo bu şekilde çevirmeye çalıştım ama olmadı.
#7
Algoritmada paslanmışım. HSYN89N in gönderdiği kod C++ için tam olarak şöyle

    int max=10;
    int k=max/2;
    for (int i = 1; i < max; i+=2,k--) {
        for (int j = 0; j < k; j++) {
            cout << " ";
        }
        for (int j = 0; j <i; j++) {
            cout << "*";
        }
        cout << "\n";
    }


Düzeltme: cout :D
-TurkishKence Konuyu açan
#8
kosasker dedi: ↑
Algoritmada paslanmışım. HSYN89N in gönderdiği kod C++ için tam olarak şöyle

    int max=10;
    int k=max/2;
    for (int i = 1; i < max; i+=2,k--) {
        for (int j = 0; j < k; j++) {
            printf(" ");
        }
        for (int j = 0; j <i; j++) {
            printf("*");
        }
        printf("\n");
    }
tamamdır çalıştı. teşekkür ediyorum..

- - - Mesaj Güncellendi - - -
honami dedi: ↑
Sadece 2 dakikalık çalışmayla c# da bu kodu yazdım. Düşününce daha efektif çözüm tabiki bulunabilir ama dediğim gibi ama 2 dakikada bundan iyi şamdan kayısı bence.

string a = " ";
for (int i = 1; i < 10; i = i + 2)
{
int j=(9-i)/2;
for (int k=1;k<=j;k++)
{
Console.Write(a);


}
for(int m=1;m<=i;m=m+1)
{
Console.Write("*");
}
for (int l=1;l<=j;l++)
{
Console.Write(a);


}
Console.WriteLine("");
}
Console.ReadKey();

Bu kodu c++ kolayca çevirebilrsin. C#la ilgili kısa bilgi vermek gerekirse Console.Write ekrana yazı yazdırma printf komutu gibi. Console.Writeline da fark olarak yeni satırdan yazmaya başlarsın. Write da ise aynı satırda yazmaya. printf in içinde /n yaptığında yeni satıra geçiş yapıyordu ya onla aynı. string =düz yazı şeklinde değişken tanımlama,
int ise tam sayı olarak değişken tanımlama. For döngüsü bildiğin sayac işte. C# da süslü parantez içine yazıyorsun. süzlü parantezi kapattıın yer for döngüsünün bitişi oluyor.
Console.ReadKey ise programın çalışması bittiğinde siyah pencerenin kapanmaması için.

C++ derleyim olsa hızlıca çevirirdim ama derleyicim yok. Açıkcası c++ bırakalı uzun zaman oldu tamda hatırlamıyorum.

Not: Eğer hoca istenildiği yıldız kadar bu satırların devam etmesini istiyorsa o zaman "9" yerine en alt satırda olması gereken yıldız sayısını vereceksin, yada kullanıcının girmesini isteyeceksin. Yani yukarıdaki 9, enalt satırda olan yıldız sayısıdır.

- - - Mesaj Güncellendi - - -

Buda ekran çıktısı

vakit ayırdın. Teşekkürler :)
#9
bence o ödevler fikrini zorlayıp kendini geliştirmen için çok basit olsada düşünüp hata yapıp uğraşmalısın ...
#10
Ben hala Hüseyinin yazdığı koda bakıyorum :D Kötü pas tutmuşum. Bir an önce tekrardan yazmaya başlamalıyım.

Evet bu ödevin senin tarafından yazılmaması gerçek anlamda, senin için kötü oldu. Algoritma kurmak temel adımdır ve o adımı kendin atmazsan dara düşersin.
-TurkishKence Konuyu açan
#11
zaten ben bunu bu şekilde verirsem kabul edeceğini zannetmiyorum. derste bu şekilde işlenedik. printf felan yok. mantığını çözüp kendim tekrar yazcam..
#12
Ben javada yazmıştım C++ kısmına dikkat etmedim kod ile alakalı bir sorunmu var anlayamadım ? :) :)

- - - Mesaj Güncellendi - - -

Bu ödevi uğraşıp yapamamak imkansız ancak yanlış anlamayın elbet gayret göstermişsinizdir elbet çabalamışsınızdır ancak yeterli olduğunu düşünmüyorum. Ben de ödevlerinizin kendiniz tarafından yapılması taraftarıyım ancak belli bir yaşa gelmiş kimseleriz , kendimiz için neyin doğru neyin yanlış olduğunu en iyi kendimiz biliriz. Zorda veya ihtiyacınızın aciliyetini düşünerek paylaşımlar yapmamız normal bence. Bu da C++ hali :
http://pastie.org/8435556
#13
-TurkishKence dedi: ↑
zaten ben bunu bu şekilde verirsem kabul edeceğini zannetmiyorum. derste bu şekilde işlenedik. printf felan yok. mantığını çözüp kendim tekrar yazcam..
Ben yazılımıma C ile başladım. Daha sonra çok kısa c++ a baktıktan sonra C# a geçtim. Konsol uygulamarından ziyade form uygulamarıyla uğraşıyorum.
C dilinde printf le ekrana mesaj yazdırılıyordu aklımda c++ da da aynı olduğu şeklinde kalmış ama demek ki yanlış hatırlıyormuşum. Zaten yukarıdaki mesajdada yazmıştım. C++ pek hatırlamadığımı.

- - - Mesaj Güncellendi - - -

Bu arada benim kodda
şu satırlara gerek yok.

for (int l=1;l<=j;l++)
{
Console.Write(a);

}

Bu kod ile yıldızların sağınasa boşluk koymuştum ama boşuk görülmediği için sağa koymanın bir anlamı yok.

string a = " ";
for (int i = 1; i < 10; i = i + 2)
{
int j=(9-i)/2;
for (int k=1;k<=j;k++)
{
Console.Write(a);
}
for(int m=1;m<=i;m=m+1)
{
Console.Write("*");
}
Console.WriteLine("");
}
Console.ReadKey();

Yukarıda string ="a" değişkn atamak yerine de altta a nın kullanıldığı yerde yani Console.Write("a") yerine direk Console.Write(" ") da yazılabilir. Aynı sonucu verecektir.
#14
Ekleme;

şimdi printf e baktımda c++ da varmış.(Demekki yanlış hatırlamıyormuşum.) Kendi kodumu şu şekilde c++ a çevirdim. Drleyicinde bir dene istersen.

for (int i = 1; i < 10; i = i + 2)
{
int j = (9 - i) / 2;
for (int k = 1; k <= j; k++)
{
printf(" ");
}
for (int m = 1; m <= i; m = m + 1)
{
printf("*");
}
printf("");
}
#15
Cevap verilmiş ama ben de ihtiyacı olan olur diye c++ ile for döngüleri kullanarak yaptığım algoritmayı paylaşmak isterim ve diğer cevaplara göre biraz daha yalın ve sade duruyor umarım açıklayıcı olur;

for (int i = 1; i < 6; i++) // ilk for satırlar arasında geçiş yapar "endl" komutu ile
{
for (int j = 6-i; j>=0; j--)
// ikinci for yıldız basmadan önceki boşlukları basar
{
cout << " ";
}
for (int a = 1; a<= 2*i-1; a++)
// üçüncü for ise yıldızları basar
{
cout << "*";
}

cout << endl;
}


Birinci for ile kaç satır olmasını istiyorsak i'ye o sayıdan küçük diye koşul tanımladık.
İkinci for ile j değişkenini (satır sayısı - i' nin o anki değeri) diye tanımladık ve sıfırdan büyük olduğu sürece azalt diyerek döngü başlattık
Üçüncü for ile de boşlukları bastık.

+ boşluklar her satırda birer azalıyor lakin yıldızlar her satırda ikişer artıyor ;
bu yüzden ikinci for da j'yi bir bir azalttık.
bari39 Yasaklı
#16
abiler bende yazılımda -kendimi geliştiricem nereden başlasam web programlamadan başlayıp phb falan orenmeye calışıcam sizce ne yapmalıyım
#17
2013 yılının konusunu hortlattınız.
#18
bari39 dedi: ↑
abiler bende yazılımda -kendimi geliştiricem nereden başlasam web programlamadan başlayıp phb falan orenmeye calışıcam sizce ne yapmalıyım
Bence önce detaylı bir araştırma yap ve bu işle uğraşan kişilerle birebir görüşmeye çalış herkesten bilgi topla kendi kararını kendin ver ama gerçekten iyi araştırman gerekiyor çünkü çok hızlı gelişiyor yazılım ileriye dönük kararlar ver gerek oyun geliştirme gerek web gerekse siber güvenlik alanı için

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.

Reklam