Şimdi Ara

Acil C yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
2
Cevap
0
Favori
377
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • #include <stdio.h>
    int reverse(int dizi[],int eleman_sayisi) {
    int i;
    int temp;
    for(i=0;i<eleman_sayisi;i++) {
    temp=dizi;
    dizi=dizi[eleman_sayisi-i];
    dizi[eleman_sayisi-i]=temp;
    }
    return *dizi;
    }
    int main() {
    int dizi[200];
    int i;
    int a;
    FILE*dosya;
    FILE*dosya2;
    dosya=fopen("C:\\ornek.txt","r");
    dosya2=fopen("C:\\cikis.txt","w");
    i=0;
    do {
    dizi=getc(dosya);
    i++;
    }while(!feof(dosya));
    int dizi1;
    dizi1=reverse(dizi,i);
    for(a=0;a<i;a++) {
    fprintf(dosya,"%d",dizi1[a]);
    }
    return 0;
    }

    Bu kodda ne hata var işlevi yazdım ve bu işlevi kullanmayı beceremiyorum,işlev sonucu dönen diziyi nasıl aktarcam biraz yardımcı olurmusunz



  • quote:

    Orjinalden alıntı: Rsoy

    #include <stdio.h>
    int reverse(int dizi[],int eleman_sayisi) {
    int i;
    int temp;
    for(i=0;i<eleman_sayisi;i++) {
    temp=dizi;
    dizi=dizi[eleman_sayisi-i];
    dizi[eleman_sayisi-i]=temp;
    }
    return *dizi;(array adları zaten adrestir yani basında yıldız olmadan yıldız varmıs gibi islem gorurler. dahada onemlisi hatıladıgım kadarı ile array return edemezssin. zaten dediigim gibi array adı aynı zamanda adres oldugu icin fun da yaptıgın degisikligi main dede gorursun yani return etmene gerek yok degismis hali mainde de olacak )
    }
    int main() {
    int dizi[200];
    int i;
    int a;
    FILE*dosya;
    FILE*dosya2;
    dosya=fopen("C:\\ornek.txt","r");
    dosya2=fopen("C:\\cikis.txt","w");
    (bunları kapatmamıssın)

    i=0;
    do {
    dizi=getc(dosya);
    i++;
    }while(!feof(dosya));
    int dizi1;
    dizi1=reverse(dizi,i);( bir arrayi bu sekilde esitleyemezsin for veya while ile her bi kutucuguna ayrı yazman yada hazır fun kullanman gerekir)
    for(a=0;a<i;a++) {
    fprintf(dosya,"%d",dizi1[a]);
    }
    return 0;
    }

    Bu kodda ne hata var işlevi yazdım ve bu işlevi kullanmayı beceremiyorum,işlev sonucu dönen diziyi nasıl aktarcam biraz yardımcı olurmusunz





    umarım yardımcı olur



    < Bu mesaj bu kişi tarafından değiştirildi lord of chaos -- 16 Kasım 2008; 17:25:13 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.