Em mới học C++ và có một số thắc mắc mong mọi người giúp đỡ ạ.
+) Làm sao để tạo một mảng với số lượng phần tử được nhập từ bàn phím ạ. Ví dụ em nhập n thì làm sao để khai báo một mảng với đúng n phần tử.
+) Làm sao để thực hiện 1 vòng lặp với số lần lặp phụ thuộc vào input. Em gặp 1 bài có số lần input vào không xác định.
Một số câu hỏi về C++
Trước khi trả lời em muốn hỏi 1 chút ạ:
- Anh đã học đến cấp phát động trong C++ chưa ạ.
- Anh đã đã học vòng lặp for trong C++ chưa ạ.
- Anh đã tra google chưa ạ.
mình sẽ giả sử là bạn đã học nhập/xuất, khai báo mảng và cấu trúc của for
rồi :)))
+) Làm sao để tạo một mảng với số lượng phần tử được nhập từ bàn phím ạ. Ví dụ em nhập n thì làm sao để khai báo một mảng với đúng n phần tử
giờ giả sử mình khai báo mảng 5 phần tử đi nhé
int arr[5];
và giờ bạn nhập n
tượng trưng cho số lượng phần tử mảng
int n; cin >> n;
ngẫm ra rồi chứ ?
+) Làm sao để thực hiện 1 vòng lặp với số lần lặp phụ thuộc vào input. giả sử bạn muốn for nó lặp 5 lần đi
for (int i = 1; i <= 5; ++i) cout << i << ' ';
// hoặc nếu bạn thích số 0
for (int i = 0; i < 5; ++i) cout << i << ' ';
và giờ bạn muốn lặp n lần thì như nào ?
Em gặp 1 bài có số lần input vào không xác định.
nếu không xác định số lần lặp thì cần gì lặp phụ thuộc vào input nhỉ ?
ý mình không phải input n. mà mình gặp một bài map giữa tên người và sdt. sau khi nhập. nó cho input là tên người để kiểm tra sdt với số số tên không xác định.
Trường hợp này bạn dùng vòng lặp
do {
statement(s);
} while( condition );
nhé
Link tham khảo
https://www.tutorialspoint.com/cprogramming/c_do_while_loop.htm
Cảm ơn bạn nhiều nha! Cho mình hỏi một điều nữa là nếu mình cần một mảng 2.10^5 phần tử thì liệu khai báo array thông thường có được không hay cần dùng cách khác.
nếu các dữ liệu input không có mối quan hệ với nhau thì nhập dữ liệu rồi xử lý, khỏi tạo mảng
còn nếu có thì bất khả kháng phải tạo :v
Vẫn có thể khai báo một mảng có rất nhiều phần tử, kể cả là 2.10^5 phần tử đi chăng nữa. Tuy nhiên, để làm được thì phải dùng đến thuộc tính tĩnh (static) hoặc cấp phát động (malloc), nếu không sẽ bị dính lỗi Stack Overflow.
Số phần tử tối đa mà một mảng có thể có còn tùy vào dung lượng bộ nhớ (ở đây là RAM) mà chương trình khai báo mảng đó có thể truy cập được.
Cái này thi cần ạ. Nên mình phải tạo mảng.