Bài này em dùng con trỏ hàm sai chỗ nào ạ?
Code dùng con trỏ hàm bị sai
Đăng mã dạng văn bản lên đi bạn, còn một đoạn ở hàm main() nữa.
2 Likes
#include <iostream>
using namespace std;
bool findmin(int a, int b){
return (a<b);
}
bool findmax(int a, int b){
return (a>b);
}
int findMinMax(int a[], int n, bool (*comp)(int, int) = findmax ){
int MinMax=a[0];
for (int i=1; i<n; i++){
if (comp(a[i], MinMax))
MinMax=a[i];
}
return MinMax;
}
int main() {
int n, m;
int A[1000000];
int B[1000000];
cin >>n >>m;
for (int i=0; i<n; i++){
cin >>A[i];
}
for (int i=0; i<m; i++){
cin >>B[i];
}
cout << findMinMax(A, n, findmin) <<endl <<findMinMax(B, m);
return 0;
}
Chạy trên https://onlinegdb.com/rkQ9IWj_8 ổn cả.
Thử khai báo mảng nhỏ hơn 1 tí xem. Và chuẩn nhất là khai báo theo m và n: https://onlinegdb.com/SJNTD-i_I
NM hay MN
Lúc trước mình hay bị nhầm N là kí tự đứng trước M trong bảng chữ cái.
ABCDEFGHIJKLMNOPQ
Ngoài lề tí thôi. 
2 Likes
stack chỉ có 2MB thôi nha em :V 2 mảng 2 triệu int là 8MB rồi :V Em muốn xài nhiều như vậy thì cho A, B lên heap bằng cấp phát động.
3 Likes

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?