Şimdi Ara

C/C++/C# Sorularınız Buraya. . .(GÜNCEL)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4.173
Cevap
118
Favori
165.553
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
3 oy
Öne Çıkar
Sayfa: 12345
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++/C# da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.

    NOT : Bana şu programı yazabilir misiniz ? Tarzında sorulara cevap vermeyeceğim. Önce kendiniz yapabildiğiniz kadar yapın, takıldığınız yerlerde kodu koyup sorun yardımcı olalım..





    İyi Çalışmalar.



    < Bu mesaj bu kişi tarafından değiştirildi £XE -- 31 Ağustos 2012; 16:48:31 >



  • quote:

    Orijinalden alıntı: £XE

    Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++ da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.



    Merhaba

    C dilinde Procedures konusunu bol örnekli şekilde anlatabilir misiniz ?
  • quote:

    Orijinalden alıntı: ot

    quote:

    Orijinalden alıntı: £XE

    Arkadaşlar buraya böyle bir konu açma ihtiyacı duydum. C/C++ da takıldığınız yerler olursa bu konu altında paylaşın. Ben ve diğer arkadaşlar elimizden geldikçe yardımcı olalım.



    Merhaba

    C dilinde Procedures konusunu bol örnekli şekilde anlatabilir misiniz ?

    Aslına bakarsak şahsen C++ ilgili sorularla ilgilenmek istiyordum. C diliyle alakalı değilim. Fakat C/C++ yakın diller olduğu için başka arkadaşlarda yardım ederler diye düşündüm. Ben c++ da procedures diye bir konu görmedim maalesef . Ama bulduğum birkaç örneği paylaşayım :

     

    // Fonksiyon ve Prosedür arasındaki fark.
    #include<iostream>

    using namespace std;

    //fonksiyon
    bool checkIfPositive(int x)
    {
    if(x >= 0)
    return true;
    return false;
    }

    //procedure
    void printIfPositive(int x)
    {
    bool isPositive = checkIfPositive(x);
    if(isPositive)
    cout<<"x is positive and its value is "<<x<<endl;
    }

    int main()
    {
    printIfPositive(3);
    printIfPositive(-54);
    printIfPositive(710);
    system("PAUSE");
    return 0;
    }





    Ayrıca buradaki örneği incele bi..

    http://en.wikibooks.org/wiki/C_Programming/Procedures_and_functions



    Örneğin sende şunu yazmaya çalış :
    Bir sayının ekrana tek veya çift olduğunu bulup yazdıran prosedür.

    Saygılarımla.




  • Güzel başlık olmuş bence hocam forumun C ye olan ilgisi mi azaldı ne yaptı pek göremiyoruz. Şu sınavımı atlatıyım bende başlığı canlı tutacağım çok sorum olacak benimde , elektro_gadget hocamın da uğraması yakındır
  • wiki linki için ingilizcem az yanlız :/

    fonksiyonlarla beraber almışlar, benim öğrendiğim kaynaktaki fonksiyonlar kısmında görürüm belki.

    zaten şu an lazım olan birşey değildi.


    birde register değişkenleri açıklayabilir misiniz ?



    < Bu mesaj bu kişi tarafından değiştirildi ot -- 29 Temmuz 2012; 4:16:52 >
  • Forumdan bir arkadaş sormuştu sayısı istenen yıldızlarla nasıl eşkenar üçgen yapılabilir diye yaptım ama pek temiz ve kısa olmadı , nerelerden nasıl kısaltılabilir ? Veya en baştan nasıl bir kod yazılabilir ?



    #include <stdio.h> 
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {

    int yildiz,sayac=0,fark=2,bosluk=0,sayac2,sayac3,sayac4=2,sayac5;
    printf("lutfen istediginiz es kenar ucgen icin yildiz sayisini giriniz");
    scanf("%d",&yildiz);

    while(sayac!=yildiz) // ust kenarın yapımı
    {
    sayac++;
    printf("* "); }

    printf("\n");

    while(bosluk!=1)
    {
    bosluk=(((yildiz-2)*2)+1)-fark; // ilk satır icin yıldızlar arasındaki boslugun hesaplanması
    fark=fark+2; // her satırdaki boslugun 2 er azaltılması
    sayac4++;
    for(sayac3=2;sayac3<sayac4;sayac3++) // her satırdaki ilk yıldız icin bosluk bırakılması
    {printf(" ");}
    printf("*");

    for(sayac2=0;sayac2<bosluk;sayac2++)
    { printf(" ");}
    printf("*\n"); }

    for(sayac3=1;sayac3<sayac4;sayac3++) //sondaki tek yıldız icin bosluk bırakılması
    {printf(" ");}
    printf("*\n\n\n\n");


    system("PAUSE");
    return 0;
    }





  • REGISTER VARIABLE

    Bildiğiniz gibi c de bir değişken kullanıldığında bu memoryde bir bölgeye yazılır. Ve bu variable kullanılcağı zaman cpu bu veriyi bellekten alır kullanır ve tekrar geri yazar.Ama register variable kullandığımız zaman bu variable memory den bir bölgeye yazılmaz ve cpu nun register larında tutulur.Böylece erişim süresi çok kısalmış ve bir performans artışı salamış oluruz.

    Örn:
    #include <iostream> 
    using namespace std;

    int main()
    {

    register int a;
    a=4;
    cout << a << endl;
    return 0;
    };


    ÖNEMLİ NOT:Registerları yukarıdaki gibi basit şekilde kullanmak pek fazla önerilmez , özellikle performansın çok önemli olduğu uygulamalarda for while gibi loop ların içindeki variable lar gibi çok fazla erişim gerektiren variable lar için kullanmak akıllıca olucaktır.

    ÖNEMLİ NOT_2:Register variable nın cpu nun registerlarında tutulucağı garanti edilmez siz register olarak tanımlasanız bile compliler bunu gerekli görmeyim variableyı memory de tuta bilir.

    ÇOK ÖNEMLİ NOT_3:Register variableların addreslerini adress-of operatorü(&) ile almanız mümkün değildir.örn int *p = &c // bir register oldğunu var sayarsak compiler time error üretir.Tabi bu söyledipim sadece C için geçerli Aynı şeyi C++ da yaparsanız error almazsınız ve kodunuz çalışırı hatta adresini de alırsınız çünkü c++ compiler register variable ın adressi aldığınızı anlar ve register ifadesini ignore eder auto bir variable mış gibi çaltırır.



    < Bu mesaj bu kişi tarafından değiştirildi 256colors -- 29 Temmuz 2012; 11:41:57 >




  • quote:

    Orijinalden alıntı: ot

    wiki linki için ingilizcem az yanlız :/

    fonksiyonlarla beraber almışlar, benim öğrendiğim kaynaktaki fonksiyonlar kısmında görürüm belki.

    zaten şu an lazım olan birşey değildi.


    birde register değişkenleri açıklayabilir misiniz ?

    Fakat açıkcası ben 1 Kere bile kullanmadım o prosedürleri bana daha çok işin teknik kısmı gibi geldi.
    -------------------------------
    Register Değişkenler.

    Eğer bir değişken register sınıfından tanımlanmışsa, derleyici onu makinenin hızlı bellek yazmaçlarına yerleştirmeye çalışır. Bu tür yazmaçlardan sınırlı sayıda olduğu için, sadece ilk birkaç register değişkeni gerçekten yazmaçlarda saklanır, diğerleri otomatik değişkenler gibi işlem görürler. Yani, bir register bildirimi derleyiciye sadece bir öneri özelliği taşır. Böylece, eğer bir önceki alt kısımda tanımlanmış değişkenlere gerçekten hızlı erişmeyi istiyorsak.. Ayrıca Register değişkenlerin önüne & işaretçi operatörü koyularak kullanılamaz; işlemci saklayıcısının adresi olmaz.

    (Bu açıklama yeterli diye düşünüyorum.)




  • quote:

    Orijinalden alıntı: strahd_von_zarovich

    Forumdan bir arkadaş sormuştu sayısı istenen yıldızlarla nasıl eşkenar üçgen yapılabilir diye yaptım ama pek temiz ve kısa olmadı , nerelerden nasıl kısaltılabilir ? Veya en baştan nasıl bir kod yazılabilir ?



    #include <stdio.h> 
    #include <stdlib.h>

    int main(int argc, char *argv[])
    {

    int yildiz,sayac=0,fark=2,bosluk=0,sayac2,sayac3,sayac4=2,sayac5;
    printf("lutfen istediginiz es kenar ucgen icin yildiz sayisini giriniz");
    scanf("%d",&yildiz);

    while(sayac!=yildiz) // ust kenarın yapımı
    {
    sayac++;
    printf("* "); }

    printf("\n");

    while(bosluk!=1)
    {
    bosluk=(((yildiz-2)*2)+1)-fark; // ilk satır icin yıldızlar arasındaki boslugun hesaplanması
    fark=fark+2; // her satırdaki boslugun 2 er azaltılması
    sayac4++;
    for(sayac3=2;sayac3<sayac4;sayac3++) // her satırdaki ilk yıldız icin bosluk bırakılması
    {printf(" ");}
    printf("*");

    for(sayac2=0;sayac2<bosluk;sayac2++)
    { printf(" ");}
    printf("*\n"); }

    for(sayac3=1;sayac3<sayac4;sayac3++) //sondaki tek yıldız icin bosluk bırakılması
    {printf(" ");}
    printf("*\n\n\n\n");


    system("PAUSE");
    return 0;
    }



    Bana kalırsa temiz olmuş. Yani herhangi bir düzenlemeye gerek görmedim. Fakat mesela
    for()
    prinf(); Bu kısımları alt alta yazmak yerine aralarında birer boşluk bırakırsan kodlar daha rahat anlaşılır.




  • quote:

    Orijinalden alıntı: ot

    wiki linki için ingilizcem az yanlız :/

    fonksiyonlarla beraber almışlar, benim öğrendiğim kaynaktaki fonksiyonlar kısmında görürüm belki.

    zaten şu an lazım olan birşey değildi.


    birde register değişkenleri açıklayabilir misiniz ?

    Açıklamaya basit bir örnek ile devam edelim. Ama tekrar belirteyim bunlar bana işin sözel kısmı gibi geliyor. Yani pek kullanıldığını düşünmüyorum.

     

    #include <iostream>
    using namespace std;

    main()
    {

    register int a,b; // register'lar ile performans sağlamış oluyoruz biraz daha.
    cout << "2 say giriniz : ";
    cin >> a >> b;

    cout << "Sayilarin toplami : " << a+b << endl;

    system("PAUSE");
    return 0;


    }






  • quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: ot

    wiki linki için ingilizcem az yanlız :/

    fonksiyonlarla beraber almışlar, benim öğrendiğim kaynaktaki fonksiyonlar kısmında görürüm belki.

    zaten şu an lazım olan birşey değildi.


    birde register değişkenleri açıklayabilir misiniz ?

    Açıklamaya basit bir örnek ile devam edelim. Ama tekrar belirteyim bunlar bana işin sözel kısmı gibi geliyor. Yani pek kullanıldığını düşünmüyorum.

     

    #include <iostream>
    using namespace std;

    main()
    {

    register int a,b; // register'lar ile performans sağlamış oluyoruz biraz daha.
    cout << "2 say giriniz : ";
    cin >> a >> b;

    cout << "Sayilarin toplami : " << a+b << endl;

    system("PAUSE");
    return 0;


    }




    Bu c++ herhalde :)

    cevaplar için teşekkür ederim.birde kritik bir örnek varsa verebilir misiniz ? Tam register kullanmalik

    < Bu ileti tablet sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: £XE





    quote:

    Orijinalden alıntı: salto?fb


    arkadaşlar acil bir konu var :

    öğrendiğim yerde
    Basit Veri Giriş Çıkışlarının altındaki

    Standart Çıkış Birimine Yapılacak Çıkışlar
    İşareti ile Başlayan Kontroller
    Klavyeden Veri Girişleri

    bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


    internete de bakıyorum şimdi
  • quote:

    Orijinalden alıntı: ot

    quote:

    Orijinalden alıntı: £XE





    quote:

    Orijinalden alıntı: salto?fb


    arkadaşlar acil bir konu var :

    öğrendiğim yerde
    Basit Veri Giriş Çıkışlarının altındaki

    Standart Çıkış Birimine Yapılacak Çıkışlar
    İşareti ile Başlayan Kontroller
    Klavyeden Veri Girişleri

    bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


    internete de bakıyorum şimdi


    Biraz daha açarmısın.. #include bölümünde mi bir eksikliğin var ?



    < Bu mesaj bu kişi tarafından değiştirildi £XE -- 29 Temmuz 2012; 18:50:28 >




  • quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: ot

    quote:

    Orijinalden alıntı: £XE





    quote:

    Orijinalden alıntı: salto?fb


    arkadaşlar acil bir konu var :

    öğrendiğim yerde
    Basit Veri Giriş Çıkışlarının altındaki

    Standart Çıkış Birimine Yapılacak Çıkışlar
    İşareti ile Başlayan Kontroller
    Klavyeden Veri Girişleri

    bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


    internete de bakıyorum şimdi


    Biraz daha açarmısın.. #include bölümünde mi bir eksikliğin var ?

    Sanirim şu print olaylarını anlatmış

    < Bu ileti tablet sürüm kullanılarak atıldı >




  • quote:

    Orijinalden alıntı: ot


    quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: ot

    quote:

    Orijinalden alıntı: £XE





    quote:

    Orijinalden alıntı: salto?fb


    arkadaşlar acil bir konu var :

    öğrendiğim yerde
    Basit Veri Giriş Çıkışlarının altındaki

    Standart Çıkış Birimine Yapılacak Çıkışlar
    İşareti ile Başlayan Kontroller
    Klavyeden Veri Girişleri

    bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


    internete de bakıyorum şimdi


    Biraz daha açarmısın.. #include bölümünde mi bir eksikliğin var ?

    Sanirim şu print olaylarını anlatmış

    Kardeş kime yazıyorsun anlamadım vallahi.. Sorunu ayrıntılı bir şekilde açıkalr mısın ?




  • quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: ot


    quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: ot

    quote:

    Orijinalden alıntı: £XE





    quote:

    Orijinalden alıntı: salto?fb


    arkadaşlar acil bir konu var :

    öğrendiğim yerde
    Basit Veri Giriş Çıkışlarının altındaki

    Standart Çıkış Birimine Yapılacak Çıkışlar
    İşareti ile Başlayan Kontroller
    Klavyeden Veri Girişleri

    bu dosyalar bozulmuş. yardımcı olabilir misiniz bu konuda da


    internete de bakıyorum şimdi


    Biraz daha açarmısın.. #include bölümünde mi bir eksikliğin var ?

    Sanirim şu print olaylarını anlatmış

    Kardeş kime yazıyorsun anlamadım vallahi.. Sorunu ayrıntılı bir şekilde açıkalr mısın ?

    Kusura bakma az önce bilgisayarı yaktım kafam yerinde.değil.

    < Bu ileti tablet sürüm kullanılarak atıldı >




  • Tamam sorun değil. Takıldığın yeri ayrıntılı bir şekilde açıklaki yardımcı olabilelim.
  • /* '*'ler kullanarak kenar uzunlugu verilen kareyi cizer */ 

    #include<stdio.h>
    int main( void )
    {
    int kenar;
    int i;
    int j;

    printf("Karenin kenar uzunlugu: ");
    scanf("%d", &kenar);

    /* Gecerli bir deger mi */
    while((kenar < 0) || (kenar > 20)) {

    printf("Lutfen 0 ile 20 arasinda bi deger giriniz.");
    printf("Karenin kenar uzunlugu");
    scanf("%d", &kenar);
    }

    /* karenin cizilmesi */
    for(i = 1; i <= kenar; i++) {

    if(kenar == 0)
    break;

    /* alt ve üst kenarlarin cizimi */
    if((i == 1) || (i == kenar)) {

    for(j = 1; j <= kenar; j++)
    printf("*");
    printf("\n");
    continue;
    } /* if sonu */

    /* sag ve sol kenarlarin cizimi */
    for(j = 1; j <= kenar; j++)
    if((j == 1) || (j == kenar))
    printf("*");
    else
    printf(" ");

    printf("\n");
    } /* for sonu */

    return 0;
    }



    merhaba arkadaslar. C sinavim var iki gun sonra. bana yardim ederseniz cok sevinirim.. for dongusunu anlamakta gucluk cekiyorum biraz.
    yazdigim koddaki ic ice for lari bana anlatirsaniz cok sevinirim. ozellikle "sag ve sol kenarlarin cizimi" ile ilgili olan for u anlamakta guclukk cektim. bi sag kenara bi sol kenara yildiz koyuyor arada bosluk birakiyor,
    bunu yazdiran satir neresi? ornegin biz kenari 5 girdik diyelim output soyle oluyor:
    *****
    * *
    * *
    * *
    *****

    simdiden cok tesekkur ederim

    NOT:sekli cizerkenki bosluklari yazdim ama nedense yazmamisim gibi gorunmus anlamadim niye



    < Bu mesaj bu kişi tarafından değiştirildi jely -- 29 Temmuz 2012; 23:34:32 >




  • for'un tam olarak nesini anlamadın ? For'un görevi ( ;orta ; ) kısmındaki koşul sağlanana kadar altındaki işlemi tekrarlamaktır. Senin koduna detaylı bakmadım ama herhalde. Bir tane for * ların arasına boşluk veriyordur bide if ile kontrol sağlanıyordur. if koşulu sağlamadığında da sonuna yıldız koyuyordur.
  • Merhaba arkadaşlar
    Fortran dilindeki bir matematiksel ifadeyi C e aktarıyorum hata ile karşılaşıyorum.
    Fortran da real ile tanımlanmış bir değişkenin cos' unu alıyorum.aynı sonucu C de float tanımladığım değişken ile yapıyorum sonuclar farklı cıkıyor...Nedendir acaba.?
  • 
Sayfa: 12345
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.