#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]);
}
} C programlama tekrar eden sayi silme
2
●159
- 23-05-2020, 22:01:34Kimlik doğrulama veya yönetimden onay bekliyor.Arkadaşlar merhaba. C dilinde yazdığım bu kod hata veriyor lardımcı olur musunuz
- 24-05-2020, 06:06:22Kimlik 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.