私は自分の特定の時点で呼び出すこのvoid関数を持っていますmain()
void calc(int dim){
int a[dim],i,j,temp;
for(int i=0;i<dim;i++)
{
printf("\n\n Type a number - [%d/%d]: \t",i+1,dim);
scanf("%d", &a[i]);
}
for(i=0;i<dim;i++)
{
for(j=i+1;j<dim;j++) {
if(a[i]==a[j])
{
continue;
}
else
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
printf("%d", a[j]);
}
}
}
for(i=0;i<dim;i++)
printf("%d", a[i]);
}
入力パラメータdim
は配列の次元です。表示されているコードは、配列内の数値を並べ替えるため、完全に機能します。
ユーザーが入力番号として 4 5 8 7 5 を入力した場合、次のような出力が必要です。
if(a[i]==a[j])
{
continue;
}
ところで、出力はまだ 8 7 5 5 4 です。これを修正するにはどうすればよいですか?