Şimdi Ara

C++ *** Bir dizideki elemanları başka bir diziye aktarmak?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
4.592
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Başlıktan da anlaşılacağı gibi bir sorum olacak. 10 elemanlı bir dizi tanımlayıp ilk 5 elemanını b dizisine son 5 elemanı da a[j] dizisine aktarmak istiyorum ancak bir diziden başka bir diziye aktarma nasıl yapılır acaba? Aşağıda biraz çabaladım ama nerede bir yanlış var?

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

    int main() {
    float o[10]={1.2,4.2,5.3,6.6,8.5,8.1,7.3,5.2,9.0,10.6};
    int i,j;
    float a[i],b[j];

    for(i=0;i<=4;i++){
    a[i]=o[4];

    }
    for(j=5;j<=9;j++){
    b[j]=o[9];

    }


    printf("%f",a[i]);

    system("pause");
    return 0;
    }








  • array'in size'ını vermediğinden sorun verir. a[5] b[5] şeklinde declare et.

    for ( int i = 0 ; i<5 ; i++) 
    {
    a[i] = o[i];
    b[i] = o[5 + i];
    }


    loop böyle olursa sorun cevaplanıyor sanırım.



    < Bu mesaj bu kişi tarafından değiştirildi r_samur -- 15 Aralık 2011; 11:46:15 >
  • sadece 5. ve ve sonuncu rakamı yazıyor diger rakamları algılamıyor oradaki sıkıntıyı nasıl çözeceğim? benim yaptığımda sadece 5'nci ve sonuncu rakamları aktarıyor diziye
  • quote:

    Orijinalden alıntı: zubizarettaa

    Başlıktan da anlaşılacağı gibi bir sorum olacak. 10 elemanlı bir dizi tanımlayıp ilk 5 elemanını b dizisine son 5 elemanı da a[j] dizisine aktarmak istiyorum ancak bir diziden başka bir diziye aktarma nasıl yapılır acaba? Aşağıda biraz çabaladım ama nerede bir yanlış var?

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

    int main() {
    float o[10]={1.2,4.2,5.3,6.6,8.5,8.1,7.3,5.2,9.0,10.6};
    int i,j;
    float a[i],b[j];

    for(i=0;i<=4;i++){
    a[i]=o[4];

    }
    for(j=5;j<=9;j++){
    b[j]=o[9];

    }


    printf("%f",a[i]);

    system("pause");
    return 0;
    }



    öncelikle o yü yükleyemek istediğin dizileri tanımlarken a,b[j]; şekilde tanımlayamazsın.[] içerisine değerleri olan bişileri yazmalısın.burada i j nin tanımladıktan sonra değer yüklemediğin için birinci hatan bu.bir diğer hatan ise a=o[4]; yaparsan a dizisinin ilk 4 elemanında sadece o[4]'ün degerini yükler.o[4] yerine de o yazmalısın ki a0 = o0 yüklensin ve ilk 4 elemanın a ya yüklenebilsin.diğer hatan ise j=5 yazman ilk hatanı düzelttikten sonra da burdaki for un da 0 dan başlamalı.burada asıl önemli olan ise 05 elemanını nasıl ulaşıcağın.ona da j değişkenine + 5 ekler şekilde [] içerisine yazarsan buradada değişkenleri b ye yükleme işlemini gerçekleştirebilirsin. son hatan ise printf("%f",a); şekilde yazarak bir arrayi ekrana yazdıramazsın arraylere sıralı bir şekilde değer yüklemek yada ekrana yazdırmak için döngüsel bir yapı içerisinde olmalıdır herzaman.Bunlar üzerinde çalışırsan.Problemini gerçekleştirebilirsin.




  •  float o[10]={1.2,4.2,5.3,6.6,8.5,8.1,7.3,5.2,9.0,10.6}; 
    int i,j;
    float a[5],b[5];

    for(i=0;i<=4;i++){
    a[i]=o[i];

    }
    for(j=0;j<=4;j++){
    b[j]=o[j+5];

    }


    galiba oldu böyle sadece yazdırma işlemi kaldı



    < Bu mesaj bu kişi tarafından değiştirildi zubizarettaa -- 15 Aralık 2011; 11:58:48 >
  • tamamdır hallettim yardım ettiğiniz için çok teşekkür ederim
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.