#include <stdio.h>
// 入れ替え。配列のi番目とj番目を
void swap(int a[], int i, int j){
int temp;
printf("入れ替え発生。%p配列の%d番目と%d番目を入れ替えます。\n", a
, i
, j
); temp=a[i];
a[i]=a[j];
a[j]=temp;
}
// 逆順に配列を並び替え
void reverse(int a[], int n){
int i;
for( i=0 ; i<n/2;i++){
swap( a, i, n-i-1 );
}
}
int main(void) {
int data[4]={4,3,2,1};
int data2[5]={1,3,5,7,9};
int data3[6]={1,2,3,4,5,6};
reverse(data, 4);
reverse(data2, 5);
reverse(data3, 6);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDlhaXjgozmm7/jgYjjgILphY3liJfjga5p55Wq55uu44GoaueVquebruOCkgp2b2lkIHN3YXAoaW50IGFbXSwgaW50IGksIGludCBqKXsKCWludCB0ZW1wOwoJcHJpbnRmKCLlhaXjgozmm7/jgYjnmbrnlJ/jgIIlcOmFjeWIl+OBriVk55Wq55uu44GoJWTnlarnm67jgpLlhaXjgozmm7/jgYjjgb7jgZnjgIJcbiIsIGEsIGksIGogKTsKCXRlbXA9YVtpXTsKCWFbaV09YVtqXTsKCWFbal09dGVtcDsKfQoKLy8g6YCG6aCG44Gr6YWN5YiX44KS5Lim44Gz5pu/44GICnZvaWQgcmV2ZXJzZShpbnQgYVtdLCBpbnQgbil7CglpbnQgaTsKCWZvciggaT0wIDsgaTxuLzI7aSsrKXsKCQlzd2FwKCBhLCBpLCBuLWktMSApOwoJfQoJcHJpbnRmKCJcbiIpOwp9CgppbnQgbWFpbih2b2lkKSB7CglpbnQgZGF0YVs0XT17NCwzLDIsMX07CglpbnQgZGF0YTJbNV09ezEsMyw1LDcsOX07CglpbnQgZGF0YTNbNl09ezEsMiwzLDQsNSw2fTsKCQoJcmV2ZXJzZShkYXRhLCA0KTsKCXJldmVyc2UoZGF0YTIsIDUpOwoJcmV2ZXJzZShkYXRhMywgNik7CgoJcmV0dXJuIDA7Cn0K