Şimdi Ara

c de pointer ve dizilerle alakalı ??

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
5
Cevap
0
Favori
513
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar c de kullanıcının negatif sayi girene kadarki girdiği sayilarla işlem yapmak ıstıyorum ama sıkıntı şu kullanıcının kaç sayi girdiğini bilmyoruz bu yüzden pointer kullanmamız gerekiyor. Bende 3 elemanlı bir dizi oluşturdum kullanıcı 3 elemandan buyuk deger gırdıgınde diziyi ptr ye aktardım. Sonra aynı dizide tekrar eleman girmesini istedim ve tekrar 3 elemanı geçince diziyi ptr + 3 e aktardım.Böyle istediği kadar sayi girilebilr olacaktı. Yani

    ptr sayi[0]
    ptr+1 sayi[1]
    ptr+2 sayi[2] şimdi eleman 3 oldu bu yüzden dizi ptr aktarıom

    ptr+3 sayi[0]
    ptr+4 sayi[1]
    ptr+5 sayi[2] oluyor. Böylece dizide ilk 3 girdiğim eleman saklanmış oluyor ve bu şekilde devam ediyor. Amacım bu ancak program istediğimi yapmadı :) ptr yi göster dediğim de kullanıcının ilk girdiği değeri göstermesi gerekiyodu.. İşte kodlar yardımcı olanlara şimdiden teşekkürler...


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


    int main(){

    int sayi[3],i=2,j=0,*ptr,a=0,b;
    printf("%d. Sayi : ",i-1);
    scanf("%d",&sayi[j]);

    while(sayi[j-1]>=0)
    {
    if(j==3){

    if(a>1){
    int *k;
    k=&ptr[a];
    k=&sayi[0];
    }
    else{
    ptr=&sayi[0];
    }
    j=0;
    a+=3;

    }
    printf("%d. Sayi : ",i);
    scanf("%d",&sayi[j]);
    j++;
    i++;
    }
    printf("\n\n%d",*ptr);


    getch();
    return 0;
    }







  • Calloc ya da malloc kullanarak yapsan?
    Yapamazsan yaz yardımcı olurum



    < Bu mesaj bu kişi tarafından değiştirildi cezaalp -- 24 Aralık 2014; 22:41:40 >
  • cezaalp kullanıcısına yanıt
    Onları kullanmadan yapabilme ihtimalimiz yokmu?
  • C yi nereden öğreniyorsun? Çalıştığın kaynakları yazarmısın.
  • Üniversite
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.