30/09/2018, 21:41
Đưa ra các phần tử lớn nhất trong LinkList
Mình có làm hàm sau đây đưa ra những sinh viên có điểm cao nhất, nhưng khi chạy thì bị crash. nhờ các tiền bối chỉ giúp
//Tim sinh vien co diem MAX
void diemMAX(LIST l){
int dem;
NODE *p = l.pHead;
NODE *max = l.pHead;
for(p->pNext; p!=NULL; p=p->pNext){
if(p->data.diemsv > max->data.diemsv){
max = p; dem = 0;
}
if(p->data.diemsv == max->data.diemsv){
max = p; dem++;
}
}
if(dem == 0){
xuatsv(max->data);
}else{
NODE *q = l.pHead;
while(q!=NULL){
if(q->data.diemsv==max->data.diemsv){
xuatsv(q->data);
q=q->pNext;
}
}
}
}
Bài liên quan
bạn có thể tham khảo bài này của mình rồi áp dụng vào bài của bạn http://codepad.org/HxL15Sq5
sao lại gán 2 lần l.phead thế kia
hàm của bạn sửa khi có 2 sinh viên có điểm cùng MAX nó chỉ xuất 1 thằng thôi, tks các bạn mình sửa được rồi