ポインタを用いて、入力された要素数のランダムに出した配列を照準に並び替えるプログラムです。
表示されたエラーについて調べてみたところ、繰り返し文の繰り返し回数などに問題がある場合がある、との記述を見つけ条件を変更してみましたが、原因がわかりませんでした。ご指摘いただきたいです。よろしくお願いいたします。
環境はvisual studio2022です。
以下、ソースコードソースコードになります。
#include <iostream>
void swap(int* pArg01, int* pArg02)
{
int tmp = 0;
if ( *pArg01 > *pArg02 ) {
tmp = *pArg01;
*pArg01 = *pArg02;
*pArg02 = tmp;
}
}
void sortarray(int pArray[], int elemcount)
{
for ( int s = 0; s < elemcount; s++ ){
for ( int t = s+1; t < elemcount; t++ ){
swap(&pArray[s], &pArray[t]);
}
}
}
int main()
{
int array[] = { '\0' };
int elemcount = 0;
printf("配列の要素数を入力してください。 \n"); scanf_s("%d", &elemcount); srand(time(NULL)); for (int i = 0; i < elemcount; i++) { array[i] = rand(); } sortarray(array, elemcount); for ( int i = 0; i < elemcount; i++ ) { printf( "array[%d] = %d \n", i, array[i] ); }
}

回答3件
あなたの回答
tips
プレビュー