C++ tìm MIN MAX n số bằng hàm for và if?

Em định dùng mảng 1 chiều để khai báo kiểu a[n] nhưng k được?
Code đây ạ

int n;
	cout << ("co may so? ") << endl;
	cin >> n;
	int a[100000] = {}; //chua on lam
	cout << ("nhap lan luot ");
	int i;
	i = 0;
	while (i < n) {
		cin >> a[i];
		i++;
	}
	int b;
	b = a[0];
	for (i = 0; i < n; i++)
		if (a[i] > b)
			b = a[i];
	cout << ("max = ") << b << endl;
	

	system("pause");
	return 0;

Dùng cách này đơn giản hơn nhiều nè bác:

	int n;
	cout << "So luong?" << endl;
	cin >> n;
	int a[n];
	int max = INT_MIN;
	for (int i = 0; i < n; i++){
		cout << "Phan tu thu: "<< i + 1 << endl;
		cin >> a[i];
		if (max < a[i]) max = a[i];
	}
	cout << "Gia tri lon nhat: " << max << endl;

Nên cấp phát động hoặc để int a[INT_MAX] sẽ tốt hơn, nhớ #include <limits.h>

Nên để thêm dấu {} cho các dòng lệnh cho vòng lăp for

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