Sửa lỗi code bài tìm min max trong mảng

Chào mọi người !
Em có bài toán này chưa giải được mong mọi người giúp đỡ !
Đề: Tìm min max trong mảng
Vấn đề: Em chỉ cho xuất ra max còn min thì ko ra, mong mọi người giúp đỡ chỉ ra lỗi sai và cách sửa giúp em. Em cảm ơn !
Đây là code của em:

#include <stdio.h>
int main(){
	//Bai 2: Tim min max trong mang
	int _i, m;
	printf("Moi ban nhap so luong pt cua mang: ");
	scanf("%d", &m);
	int manglb[m];
	//Nhap mang:
	printf("\nMoi ban nhap gia tri cua tung manglb[m]:\n");
	for(_i=0; _i<m; _i++){
		printf("manglb[%d] = ", _i);
		scanf("%d", &manglb[_i]);
	}
	//Tim ra min max trong mang
	int min = 0, max = 0;
	for(_i=0; _i<m; _i++){
		
		if(manglb[_i]>max){
			max = manglb[_i];
		}
		
		if(manglb[_i]<min){
			min = manglb[_i];
		}
	}
	//Xuat ra min max trong mang:
	printf("Mang manglb[m] co gia tri: \t min = %d \t max = %d ", min, max);
	return 0;
}

Ủa trong mảng đó có giá trị nào bé hơn 0 không ta :rofl: Bạn phải khai báo min = manglb[0] mới đúng nhé :grinning:

3 Likes

Em vừa sửa như vậy và được rồi ạ ! Em cảm ơn !
Anh giải thích giúp em với ạ !

À ! Tức là min và max đều duyệt từ index = 0 là manglb[0] đấy ạ ! ?

Đúng rồi đấy em :grinning: Mặc dù max để bằng 0 cũng được nhưng thay min, max = manglb[0] sẽ nhanh hơn

4 Likes

Vâng !
Chỉ để bằng 0 khi nào trong mảng có ptử 0 phải ko anh ?

Không em, khi code chúng ta nên code chương trình có thể chạy được trên nhiều trường hợp khác nhau.

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