C/C++の宿題を片付けます 59代目
■ このスレッドは過去ログ倉庫に格納されています
0670デフォルトの名無しさん
2006/02/02(木) 08:55:06#include <stdio.h>
#include <limits.h>
typedef int func(int, int);
int foldl(func f, int z, int *first, int *last) {
return first == last ? z : foldl(f, f(z, *first), first+1, last);
}
int min2(int a, int b) { return a < b ? a : b; }
int max2(int a, int b) { return a < b ? b : a; }
int min(int *first, int *last) { return foldl(min2, INT_MAX, first, last); }
int max(int *first, int *last) { return foldl(max2, INT_MIN, first, last); }
int main() {
int a[]={65,82,47,98,100,83,71,39,54,26};
printf("min=%d\n", min(a,a+sizeof(a)/sizeof(a[0])));
printf("max=%d\n", max(a,a+sizeof(a)/sizeof(a[0])));
}
■ このスレッドは過去ログ倉庫に格納されています