01/10/2018, 11:51

Giới hạn số lượng phần tử trong mảng

Chào các bác ạ, tui khai báo Max số lượng phần tử là 5, nhưng khi nhập 6 phần tử thì nó cũng xuất ra 6 phần tử luôn, vậy cái điều kiện Max ấy để làm gì vậy, mấy pro giúp với, cảm ơn ạ.

#include <iostream>
using namespace std;

const int MAX = 5;
struct ARRAY
{
	int list[MAX];
	int n;
};

void Nhap(ARRAY &a);
void Xuat(ARRAY a);
int TongDuong(ARRAY a);

void main()
{
	ARRAY a;
	Nhap(a);
	cout << "Day so vua nhap: ";
	Xuat(a);
	int s = TongDuong(a);
	cout << "
Tong duong la: " << s;
	system("pause");
}

void Nhap(ARRAY &a)
{
	cout << "
Nhap so phan tu: ";
	cin >> a.n;
	for (int i = 0; i < a.n; i++)
	{
		cout << "a[" << i << "] = ";
		cin >> a.list[i];
	}
}

void Xuat(ARRAY a)
{
	for (int i = 0; i < a.n; i++)
	{
		cout << " " << a.list[i];
	}
}

int TongDuong(ARRAY a)
{
	int kq = 0;
	for (int i = 0; i < a.n; i++)
	{
		if (a.list[i] > 0)
		{
			kq += a.list[i];
		}
	}
	return kq;
}
Dark.Hades viết 14:08 ngày 01/10/2018

Post code lên đi bạn

Vinh Nguyễn viết 13:59 ngày 01/10/2018

tui post rùi đó bác.

Student X viết 13:52 ngày 01/10/2018

thường thì bác vẫn có thể truy xuất vài phần tử sau mảng. nhưng bác cứ thử thêm nhiều phần tử vào mảng nữa xem. sẽ thấy n chết ạ. hoặc khi bác dùng con trỏ thì sẽ thấy rõ ạ.

Vinh Nguyễn viết 13:57 ngày 01/10/2018

Tui cảm ơn bác, nhập thừa 1 phần tử thì nó cho sử dụng, còn nhập thừa 2 phẩn tử trở lên thì nó không chạy đúng nữa.

Vinh Nguyễn viết 14:00 ngày 01/10/2018

Cho tui hỏi là trong hàm main ARRAY a có nghĩa là gì vậy.

rogp10 viết 14:02 ngày 01/10/2018

Tức là a là kiểu ARRAY thôi.

HK boy viết 14:03 ngày 01/10/2018

Khai báo struct a thôi mà.

P/s:

  • Code C++ mà dùng void main?
  • Không biết bạn lấy code này ở đâu, nhưng lần sau cố gắng đọc kĩ lại cả code trước khi hỏi.
Vinh Nguyễn viết 14:01 ngày 01/10/2018

à, cái này mình làm theo sách thực hành trên trường, thầy cô dạy vậy mà.

Vinh Nguyễn viết 14:03 ngày 01/10/2018

tui cảm ơn bác…

Bài liên quan
0