動的メモリ割り当てを使用して最大数を見つけるプログラムを作成します。私は次のコードを書きました
。ポインタによるselectinソートを行っているソート部分に
問題があります。
しかし、ソートは適切に行われません.....ポインタによる選択ソートを行うことはできますか?私は正しいアプローチを適用していますか?
#include<stdio.h>
#include<stdlib.h>
main()
{
int i,j,n,temp;
int *data;
printf("enter total no of elements:");
scanf("%d",&n);
data=(int*)calloc(n,sizeof(int));
printf("\n");
for(i=0;i<n;i++)
{
printf("enter number %d:",i+1);
scanf("%d",data+i);
}
for(i=0;i<n;i++)
{
printf("%d\t",*(data+i));
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(*(data)>*(data+j))
{
temp=*(data);
*(data)=*(data+j);
*(data+j)=temp;
}
}
}
for(i=0;i<n;i++)
{
printf("%d\t",*(data+i));
}
printf("largest element is %d\t",*(data+n-1));
}
出力:
enter total no of elements:5
enter number 1:2
enter number 2:10
enter number 3:12
enter number 4:1
enter number 5:0
2 10 12 1 0
0 10 12 2