main
int array_1[10] = {0};
int array_2[10] = {0};
setArray(array_1, 10);
setArray(array_2, 10);
printfArray(array_1, 10);
printfArray(array_2, 10);
changleArray(array_1, array_2, 10, swap);
printfArray(array_1, 10);
printfArray(array_2, 10);
.h
typedef BOOL (*CHANGLE)(int a[], int b[]);
void setArray(int a[], int count);
void printfArray(int a[], int count);
BOOL swap(int a[], int b[]);
void changleArray(int a[], int b[], int count, CHANGLE p);
.m
void setArray(int a[], int count){
for (int i = 0; i < count; i++) {
a[i] = arc4random()%51 + 10;
}
}
void printfArray(int a[], int count){
for (int i = 0; i < count; i++) {
printf("%d ", a[i]);
}
printf("\n\n");
}
BOOL swap(int *a, int *b){
return *a > *b ? YES : NO;
}
void changleArray(int a[], int b[], int count, CHANGLE p){
for (int i = 0; i < count; i++) {
if (p(&a[i], &b[i])) {
int temp = a[i];
a[i] = b[i];
b[i] = temp;
}
}
}