• 23-05-2020, 22:01:34
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşlar merhaba. C dilinde yazdığım bu kod hata veriyor lardımcı olur musunuz

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    
    void tekrarsiz_dizi(a);
    int main(){
        int i;
        int *dizi;
        dizi=(int*)malloc(20);
        printf("dizinin ilk hali:\n");
        for(i=0;i<20;i++){
            dizi[i]=rand()%100;
            printf(" %d ",dizi[i]);
                }
            
        tekrarsiz_dizi(dizi);
    }
    void tekrarsiz_dizi(dizi){
        int j,i,k;
    int    n=20;
        int *dizi2;
        dizi2=(int*)malloc(sizeof(int));
        
        for(j=0;j<20;j++){
            
            for(i=j+1;i<20;){
                
                if(dizi[j]==dizi[i]){
                    
                    for(k=i;k<n;k++){
                        dizi[k]=dizi[k+1];
                    }
                    n--;//tekrar eden sayıları sileceği için bir azaltıyoruz
                }
                else
                i++;//tekrar eden sayı yoksa azaltma yapmadan döngüyü bir artırıyoruz.
            }
            
        }
        for(i=0;i<n;i++){
            dizi2[i]=dizi[i];
            printf(" %d ",dizi2[i]);
        }
        
    }
  • 24-05-2020, 06:06:22
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Fonsiyonların parametrelerinin tipini "void tekrarsiz_dizi(int *dizi)" şeklinde belirtmeli ve malloc ile array oluşturuken"(int*)malloc(20*sizeof(int))" şeklinde dizinin boyutu kadar oluşturmalısın,
    Ek olarak tekrarsiz_dizi fonsiyonu "dizi2" arrayini oluşturmadan da yazılabilir.
  • 24-05-2020, 14:35:16
    #3
    Teşekkürler .