C ile girilen sayının kaç defa tekrar ettiğini bulan dizideki yerini veren küçük uygulama.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int *hesapla(int *adr);
int *tut;
int main()
{
int *p,*sonuc,i,say;
do{
p=(int *)calloc(sizeof(int),10);
}while(p=='\0');
for(i=0;i<10;++i)
{
do{
scanf("%d",(p+i));
}while(*p<=0 | *p>100);
}
p-10;
for(say=0;say<10;++say)
printf("%d. Sirada % d numarali Sayi vardir\n",say+1,*(p+say));
sonuc=hesapla(p);
for (say = 0; say < 10; ++say)
{
if (*(sonuc+say) == -2)
printf("%d.Sayi Tekrar etmemis\n",say+1);
else if(*(sonuc+say)==-1)
printf("%d. Sayinin istatistigi verilmisti\n",say+1);
else
printf("%d. Siradaki %d kadar Tekrar Etmistir\n",say+1,*(sonuc+say));
}
getch();
return 0;
}
int *hesapla(int *adr)
{
int i,j;
tut=(int *)calloc(sizeof(int),10);
for (i = 0; i < 10; ++i)
{
for (j = i + 1; j < 10; ++j)
{
if (*(adr+i) != '\0')
if (*(adr+i) == *(adr+j))
{
*(tut+i) = *(tut+i) + 1;
*(adr+j) = '\0';
*(tut+j)=-1;
}
}
if(*(tut+i)==0)
*(tut+i)=-2;
}
return tut;
}