Şimdi Ara

C++ Katar Hakkında

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
7
Cevap
0
Favori
1.344
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar c++'ta katar dizisinde takıldım,örnek şu ;

    quote:

    #include <iostream>
    #include <conio.h>
    using namespace std;

    main(){


    int i,j;
    char a[][80]={"Pazar","Pazartesi","Sali"};

    for(i=0;i<=a[ i ][ 0 ];i++){
    cout << "\n";
    for(j=0;j<=a[j];j++)
    cout << a[j] << "\n";
    }

    getch();
    return 0;

    }


    1.for'da ki "i<=a[ i ][ 0 ]" kısmını anlayamadım a'nın neyiyle oynuyor.detaylı anlatırsanız sevinirim..



    < Bu mesaj bu kişi tarafından değiştirildi Muco -- 16 Temmuz 2012; 18:56:40 >







  • quote:

    Orijinalden alıntı: 53Muco

    Merhaba arkadaşlar c++'ta katar dizisinde takıldım,örnek şu ;

    quote:

    #include <iostream>
    #include <conio.h>
    using namespace std;

    main(){


    int i,j;
    char a[][80]={"Pazar","Pazartesi","Sali"};

    for(i=0;i<=a[ i ][ 0 ];i++){
    cout << "\n";
    for(j=0;j<=a[j];j++)
    cout << a[j] << "\n";
    }

    getch();
    return 0;

    }


    1.for'da ki "i<=a[ i ][ 0 ]" kısmını anlayamadım a'nın neyiyle oynuyor.detaylı anlatırsanız sevinirim..

    1.For döngüsü şöyle :

    i 'yi 0 olarak tanımladık .. .a[ i ](a'nın içine i degerini yolladık)sıfır olana kadar devam etsin dedik.. ve i'yi
    i++ şeklinde birer birer arttır komutu verdik.

    Bu şekilde de a[ i ] kısmını arttırmışsın.



    < Bu mesaj bu kişi tarafından değiştirildi £XE -- 16 Temmuz 2012; 19:40:31 >




  • quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: 53Muco

    Merhaba arkadaşlar c++'ta katar dizisinde takıldım,örnek şu ;

    quote:

    #include <iostream>
    #include <conio.h>
    using namespace std;

    main(){


    int i,j;
    char a[][80]={"Pazar","Pazartesi","Sali"};

    for(i=0;i<=a[ i ][ 0 ];i++){
    cout << "\n";
    for(j=0;j<=a[j];j++)
    cout << a[j] << "\n";
    }

    getch();
    return 0;

    }


    1.for'da ki "i<=a[ i ][ 0 ]" kısmını anlayamadım a'nın neyiyle oynuyor.detaylı anlatırsanız sevinirim..

    1.For döngüsü şöyle :

    i 'yi 0 olarak tanımladık .. .a[ i ](a'nın içine i degerini yolladık)sıfır olana kadar devam etsin dedik.. ve i'yi
    i++ şeklinde birer birer arttır komutu verdik.

    Bu şekilde de a[ i ] kısmını arttırmışsın.

    a[ i ] yanındaki [ 0 ] nedir peki ?




  • quote:

    Orijinalden alıntı: 53Muco

    quote:

    Orijinalden alıntı: £XE

    quote:

    Orijinalden alıntı: 53Muco

    Merhaba arkadaşlar c++'ta katar dizisinde takıldım,örnek şu ;

    quote:

    #include <iostream>
    #include <conio.h>
    using namespace std;

    main(){


    int i,j;
    char a[][80]={"Pazar","Pazartesi","Sali"};

    for(i=0;i<=a[ i ][ 0 ];i++){
    cout << "\n";
    for(j=0;j<=a[j];j++)
    cout << a[j] << "\n";
    }

    getch();
    return 0;

    }


    1.for'da ki "i<=a[ i ][ 0 ]" kısmını anlayamadım a'nın neyiyle oynuyor.detaylı anlatırsanız sevinirim..

    1.For döngüsü şöyle :

    i 'yi 0 olarak tanımladık .. .a[ i ](a'nın içine i degerini yolladık)sıfır olana kadar devam etsin dedik.. ve i'yi
    i++ şeklinde birer birer arttır komutu verdik.

    Bu şekilde de a[ i ] kısmını arttırmışsın.

    a[ i ] yanındaki [ 0 ] nedir peki ?

    a[ 0 ] dediğimiz şey şöyledir ki :

    mesela şu bir dizi olsun.

    a[ 3 ]={'E','x','e'};

    şimdi burada c++ şöyle algılar :
    Normalde Exe, 3 harflidir. Bu yüzden a[ 3 ] olarak belirttik. Fakat program bunu okurken en baştaki E harfini 0 olarak okur yani programın gözünde harfler şöyle numaralandırılır :
    E=0
    x=1
    e=2

    Ama 3 harfli belirttiğimiz için, değişkenin içinde bu kelimenin 3 harfli olduğunu belirtiriz.

    Yani programdaki a[ 0 ] -->> Pazar'ı temsil eder,




  • quote:

    Orijinalden alıntı: 53Muco

    Merhaba arkadaşlar c++'ta katar dizisinde takıldım,örnek şu ;

    quote:

    #include <iostream>
    #include <conio.h>
    using namespace std;

    main(){


    int i,j;
    char a[][80]={"Pazar","Pazartesi","Sali"};

    for(i=0;i<=a[ i ][ 0 ];i++){
    cout << "\n";
    for(j=0;j<=a[j];j++)
    cout << a[j] << "\n";
    }

    getch();
    return 0;

    }


    1.for'da ki "i<=a[ i ][ 0 ]" kısmını anlayamadım a'nın neyiyle oynuyor.detaylı anlatırsanız sevinirim..

    2 boyutlu dizi oluyor o. Yani diğer adıyla dizi dizisi.

    C++ ta katarlar karakter dizisidir. Mesela "Pazar" 6 elemanlı bir char dizisi. 5 harf + 1 null karakter (otomatik eklenir). Şöyle bir tanımlamada;

    char a[] = "Pazar"; //(Tek boyutlu dizi)
    a[0] = 'P'
    a[1] = 'a'
    a[2] = 'z'
    a[3] = 'a'
    a[4] = 'r'
    a[5] = '\0' (null) dur.

    Örnekteki gibi 2 boyutlu dizide ise;
    a[0] = "Pazar"
    a[1] = "Pazartesi"
    a[2] = "Salı"

    Gördüğün gibi 2 boyutlu dizinin her elemanı tek boyutlu dizi. Harflere erişmek istersek;

    a[0][0] = 'P'
    a[0][1] = 'a';
    ...
    a[0][4] = 'r'
    ...
    a[1][2] = 'z'
    ...
    a[2][0] = 'S' dir...

    Son olarak ta
    char a[][80]={"Pazar","Pazartesi","Sali"};

    ifadesinde, içteki her dizi maksimum 80 karakter (null dahil) alabilir demek. Fakat a dizisinin eleman sayısı belirtilmemiş. Bu durumda derleyici verilen elemanları sayarak dizi uzunluğu bulur. Örnekte 3 tane. Yani derleyici bu kodu şöyle derler:

    char a[3][80]={"Pazar","Pazartesi","Sali"};

    Bide hatırlatmakta fayda var. Diziler derleme zamanında belleği rezerve eder, yani kullanılmayan bellek boşa gider. Mesela "Pazartesi" nin devamında kullanılamayacak olan 70 byte var.




  • quote:

    Orijinalden alıntı: elektro_gadget

    quote:

    Orijinalden alıntı: 53Muco

    Merhaba arkadaşlar c++'ta katar dizisinde takıldım,örnek şu ;

    quote:

    #include <iostream>
    #include <conio.h>
    using namespace std;

    main(){


    int i,j;
    char a[][80]={"Pazar","Pazartesi","Sali"};

    for(i=0;i<=a[ i ][ 0 ];i++){
    cout << "\n";
    for(j=0;j<=a[j];j++)
    cout << a[j] << "\n";
    }

    getch();
    return 0;

    }


    1.for'da ki "i<=a[ i ][ 0 ]" kısmını anlayamadım a'nın neyiyle oynuyor.detaylı anlatırsanız sevinirim..

    2 boyutlu dizi oluyor o. Yani diğer adıyla dizi dizisi.

    C++ ta katarlar karakter dizisidir. Mesela "Pazar" 6 elemanlı bir char dizisi. 5 harf + 1 null karakter (otomatik eklenir). Şöyle bir tanımlamada;

    char a[] = "Pazar"; //(Tek boyutlu dizi)
    a[0] = 'P'
    a[1] = 'a'
    a[2] = 'z'
    a[3] = 'a'
    a[4] = 'r'
    a[5] = '\0' (null) dur.

    Örnekteki gibi 2 boyutlu dizide ise;
    a[0] = "Pazar"
    a[1] = "Pazartesi"
    a[2] = "Salı"

    Gördüğün gibi 2 boyutlu dizinin her elemanı tek boyutlu dizi. Harflere erişmek istersek;

    a[0][0] = 'P'
    a[0][1] = 'a';
    ...
    a[0][4] = 'r'
    ...
    a[1][2] = 'z'
    ...
    a[2][0] = 'S' dir...

    Son olarak ta
    char a[][80]={"Pazar","Pazartesi","Sali"};

    ifadesinde, içteki her dizi maksimum 80 karakter (null dahil) alabilir demek. Fakat a dizisinin eleman sayısı belirtilmemiş. Bu durumda derleyici verilen elemanları sayarak dizi uzunluğu bulur. Örnekte 3 tane. Yani derleyici bu kodu şöyle derler:

    char a[3][80]={"Pazar","Pazartesi","Sali"};

    Bide hatırlatmakta fayda var. Diziler derleme zamanında belleği rezerve eder, yani kullanılmayan bellek boşa gider. Mesela "Pazartesi" nin devamında kullanılamayacak olan 70 byte var.

    Çok çok sağolsun hocam bu kadar detaylı anlattığını için ,şimdi anladım.




  • @1.for'da ki "i<=a[ i ][ 0 ]" kısmını anlayamadım a'nın neyiyle oynuyor.detaylı anlatırsanız sevinirim..


    su kısmı bu sekılde anladım yanlısım varsa duzeltır mısınız :)

    i sureklı artıcak ama her karakter (p,a,z,a,r,t,e,s,i) ıcın i kucuk sayıılacaktır ( 0<p 1<a 2<z ...) taa kı dızının son elemanına kadar. cunku dızının son elemanı'\0' (null) dur '/0'=a[ i ][ 0 ]. yanı o durumda i sıfırdan buyuk olacagı ıcın for dan cıkılır.

    eyer boyleyse her karakter ıcın ı nın kucuk olma durumu dogru mu ve mantıgı nedır? 0<p 1<a 2<z ...

    cok kafam karıstı bu konuda yardım edersenız cok sevınırım...
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.