Şimdi Ara

C dilinde yıldızlarla harf

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
10
Cevap
0
Favori
7.119
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar yıldızlar ile B ile D harflerini yapabilirmisiniz ?

    Örn;
     
    *
    * *
    * *
    * *
    * *
    * * *
    * *
    * *
    * *
    * *
    * * *

    Tam çizemedim sanırım ama umarım anlatabilmişimdir

    Şimdiden teşekkürler



    < Bu mesaj bu kişi tarafından değiştirildi BogachanF -- 26 Şubat 2014; 21:43:41 >



  • Yapabilir(iz) de sen kodu yapın bana verin dersen verirmiy(iz) bilmiyorum.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: GylR?

    Yapabilir(iz) de sen kodu yapın bana verin dersen verirmiy(iz) bilmiyorum.

    Neden böyle bir diyalog kurmak istediniz hocam pek anlayamadım ihtiyaç dahilinde konu açtım bazı arkadaşlar yardım etmişti aynı konuda belki görülüpte banada yardımcı olabilirler amacıyla açmıştım fakat beni hazırcı konumuna düşürdünüz sağolun

    @GylR?



    < Bu mesaj bu kişi tarafından değiştirildi BogachanF -- 28 Şubat 2014; 17:39:31 >
  • Hazırcı demeyelimde direk yapın bana demiş gibi olmuş yazı.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • C# form olsa hadi neyse de :) C dili ilginç seviyede zor geldi maalesef bilen yardimi dokunacak biri çıkar umarım :)

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Ne denedinde olmadi? Onu da koy ona gore yardimci olalim.
    D icin mantik veriyim solda her satirda yildiz oluyor, yanina da 2 veya 3 bosluk birakarak her seferinde bir yildiz koy, veya oranini sen bul bunu deneye yanila veya wikipedia dan tam oranina bakarak yapabilirsin. Daha sonra uzunlugun yarisina gelince islemi tersine ceviriyorsun yani her satirda 2-3 boslugu geriye gidiyorsun.
    B ise 2 tane D nin alt alta gelmis versiyonu.
  • quote:

    Orijinalden alıntı: ThisisaNightmare

    Ne denedinde olmadi? Onu da koy ona gore yardimci olalim.
    D icin mantik veriyim solda her satirda yildiz oluyor, yanina da 2 veya 3 bosluk birakarak her seferinde bir yildiz koy, veya oranini sen bul bunu deneye yanila veya wikipedia dan tam oranina bakarak yapabilirsin. Daha sonra uzunlugun yarisina gelince islemi tersine ceviriyorsun yani her satirda 2-3 boslugu geriye gidiyorsun.
    B ise 2 tane D nin alt alta gelmis versiyonu.

    denediğim versiyon ;

    #include <stdio.h> 
    #include <conio.h>

    main()
    {
    for(int i=0;i<=10;i++)
    {
    for(int k=0;k<=10;k++)
    {
    if(i==0 || i==1 || i<10 && k==1 || i<10 && k==0 || i==4 || i==5 || i==8 || i==9 || i<10 && k==9 || i<10 && k==8|| i<10 && k==10 )
    {
    printf("*");
    }
    else
    printf(" ");
    }
    printf("\n");
    }

    getche();
    }


    daha çok " 8 " e benzedi hocam




  • quote:

    Orijinalden alıntı: BLacKSquaD

    quote:

    Orijinalden alıntı: ThisisaNightmare

    Ne denedinde olmadi? Onu da koy ona gore yardimci olalim.
    D icin mantik veriyim solda her satirda yildiz oluyor, yanina da 2 veya 3 bosluk birakarak her seferinde bir yildiz koy, veya oranini sen bul bunu deneye yanila veya wikipedia dan tam oranina bakarak yapabilirsin. Daha sonra uzunlugun yarisina gelince islemi tersine ceviriyorsun yani her satirda 2-3 boslugu geriye gidiyorsun.
    B ise 2 tane D nin alt alta gelmis versiyonu.

    denediğim versiyon ;

    #include <stdio.h> 
    #include <conio.h>

    main()
    {
    for(int i=0;i<=10;i++)
    {
    for(int k=0;k<=10;k++)
    {
    if(i==0 || i==1 || i<10 && k==1 || i<10 && k==0 || i==4 || i==5 || i==8 || i==9 || i<10 && k==9 || i<10 && k==8|| i<10 && k==10 )
    {
    printf("*");
    }
    else
    printf(" ");
    }
    printf("\n");
    }

    getche();
    }


    daha çok " 8 " e benzedi hocam

    Mantigin cok kotu, boyle hardcoding ile programlama yapilmaz, eger bunun egitimini goruyorsan hocan 0 falan verir.
    k = 10 a kadar yapmissin. Ya daha buyuk bir duzlemde yapman gerekseydi misal k 100 e kadar gidecek olsaydi?

    Ayrica bu kadar uzun bir if te parantez kullan neyin ne oldugu hemen kaciyor.

    Cevabina gelelim.
    1. adim olarak
    wolfram alpha ya girip bunun grafiksel formulunu cikartiyoruz.
    https://www.wolframalpha.com/input/?i=x+%3D+y%5E2
    x = y^2 bunun icin yetiyor. Simdi farkettiysen y = 0, x = 0 da tam cikintili oluyor. Bu durumda tam orta noktayi x =0 y =0 olarak yapmamiz gerek. Fakat boyle yapsak bile problem oluyor cunku D nin dis kismi ) seklinde olmaktansa ( seklinde olucak.

    Yani x bu durumda i - ortaNokta oluyor, orta nokta ise daha once den belirttigm gibi verilen uzunluk(seninkisi misal 10)

    2) simdi x i bulduk y yi math.h kutuphanesi kullanarak bulacagiz bunun icin pow(x, 2) yeterli.

    3) Ikinci for loopta senin yaptigin gibi bosluk ekleyecegiz, sayiya ulasana kadar bosluk ekle sonrasindada * ekle.

    4) Bunlarin hepsini bir fonksiyon yap ana menuden cagir.

    5) Dediklerimi yapinca suna benzer birseyin olmali:

    #include <stdio.h> 
    #include <math.h>


    void dHarfi(int uzunluk) {
    int i;
    int ortaNokta = uzunluk/2;
    for(i=0;i<uzunluk;i++) {
    printf("*");
    int x = i - ortaNokta;
    int y = pow(x, 2);//y = x^2
    int j;
    for (j = 0; j < y; j++) {
    printf(" ");//bosluk ekle
    }
    printf("*");
    printf("\n");
    }
    }

    int main() {
    printf("D harfi ciziliyor...\n");
    dHarfi(11);

    printf("\nB harfi ciziliyor...\n");
    dHarfi(5);
    dHarfi(5);

    return 0;
    }


    Simdi hata dedigim gibi D ve B de cizgi ice dogru giderken bunda distan gidiyor yani ) yerine ( oluyor. Bunu da sana birakiyorum.
    2 sey yapabilirsin, ya dedigim y = x^2 yerine baska bir formul kullanabilirsin(ki grafiksel gosterimi tam zitti olmali) ki bu en basit yontem, bunu tavsiye ederim.
    Oteki yontem ise y nin alabilecegi max degeri bulursun(ki bu ortaDeger^2 dir) sayiyi bundan cikartir mutlak degerini alirsin.



    < Bu mesaj bu kişi tarafından değiştirildi ThisisaNightmare -- 2 Mart 2014; 12:30:43 >




  • Yardımınız için çok sağolun hocam
  • Arkadaşlar konuyu hortlatıyorum ama c++ da * ile yükseklik girerek W harfi nasıl yazdırabilirim yardımcı olabilecek var mı?:)

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.