Những bài này rất cơ bản, mình nghĩ chắc bạn của mới học thôi, nên mình sẽ giúp bạn code, chú ý lần sau đặt tiêu đề phản ánh được câu hỏi bạn nhé. Ví dụ với bài của bạn : thì bạn có thể đặt đại loại như []Hỏi về cách truy xuất mãng trong C++[]...
Câu a :
PHP Code:
#include <iostream>
int main(){
int array[100];//Khai báo mãng có tên array kiểu là int với kíck thước 100
//phần tử, chú ý mãng trong (C, C++) bắt đầu tại 0 và kết
//thúc tại (size - 1) của nó (ở đây là 100) vậy : array[0],
//array[1],array[2]...array[99]
int N; //khai báo 1 biến N có kiểu int
std::cout << "NHAP VAO 1 SO N " << endl; //cout là in ra, "endl" xuống 1 dòng
std::cin >> N; //cin là nhập vào
for(int x = 0; x < N; x++){
array[x] = x + 1;//gán cho giá trị của array[0] -> array[N-1] = 1, 2,3..
}
//In ra kết quả , dòng vòng lặp for chạy từ 0 -> N
for(int x = 0; x < N; x++){
std::cout << array[x] << '_';
}
return 0;
}
Câu b :
PHP Code:
#include <iostream>
int main(){
int array[100];
int N;
std::cout << "NHAP VAO 1 SO N " << endl;
std::cin >> N;
for(int x = 0; x < N; x++){
array[x] = x + 1;
}
int the_number_of_even_element = 0;//Biến này để đếm số phần tử chẵn
//Xét từ array[0] -> array[N-1]
for(int x = 0; x < N; x++){
if((array[x] % 2) == 0){ //Toán tử % là lấy phần dư, ví dụ 5%2 = 1
//tức là 5 chia 2 dư 1, vậy số chẵn thì chia 2 phải
// dư 0.
std::cout << array[x] << '_';
//Nếu chẳn thì số phần tử phải tăng lên 1
the_number_of_even_element = the_number_of_even_element + 1;
}
}
std::cout << endl;
std::cout << "SO PHAN TU CHAN TRONG MANG ARRAY LA : "
<< the_number_of_even_element ;
return 0;
}
Câu C :
PHP Code:
#include <iostream>
int main(){
int array[100];
int N;
std::cout << "NHAP VAO 1 SO N " << endl;
std::cin >> N;
for(int x = 0; x < N; x++){
array[x] = x + 1;
}
//Đầu tiên khai báo 1 biến "is_array_increasing" có kiểu "bool" và khởi tạo = true với ý nghĩa nó
//sẽ tượng trưng cho mãng tăng.
bool is_array_increasing = true;
//Dòng vòng lặp for duyệt từ array[0] -> array[N-1] để kiểm tra
//giả thuyết chúng ta vừa nêu ra bên trên
//Chú ý chỉ xét tới N-2, vì trong câu lệnh dưới ta đã có giá trị của array[N-1]
//rồi (*)
for(int x = 0; x < N-1; x++){
//Mãng tăng thì tức là "thằng đứng sau" < "thằng đứng trước"
//Vậy nếu thằng đứng sau là array[x] vậy trước nó là array[x+1]
//Điều kiện thì ngược lại, vì nếu chỉ có 1 thằng giảm tức là sai rồi
if(array[x] >= array[x+1]){ //Chỗ (*) mình nhấn mạnh ở trên là đây
is_array_increasing = false; //ghi nhận lại là sai
}
}
//Nếu đúng thì..
if(is_array_increasing == true)
std::cout << "DAY LA MANG TANG. ";
else //ngược lại sai thì
std::cout << "DAY LA MANG KO TANG. ";
return 0;
}
Bạn chú ý tất cả các ví dụ trên mình đều dùng mãng được gán cho giá trị trước , chỗ :
PHP Code:
for(int x = 0; x < N; x++){
array[x] = x + 1;
}
Nếu bạn muốn chính bạn nhập vào các giá trị này thì :
PHP Code:
for(int x = 0; x < N; x++){
std::cout << "NHAP PHAN TU THU [" << x << "] :"
std::cin >> array[x];
std::endl; //xuống 1 dòng cho đẹp thôi ^^
}
Hoặc có thể dùng hàm rand()..,để nhập giá trị ngẫu nhiên cũng được, nếu bạn không biết, post lần nữa.
Nếu muốn thấy kết quả in ra thì thêm vào hoặc là
cái này cho Turbo C++, không chắc do mình ít dùng.
hoặc là
cho DevC
hoặc là [quote]getch()[\quote] cả Dev-C và Visual C++, nhưng nhớ thêm header file "#include <conio.h>
Hoặc cách này :
đặt tên biến là gì cũng được, để ở cuối tất cả. Là xong! Cách này hơi phi logic nhưng bảo đảm thằng nào cũng thấy dc kết quả! Mặc dù mấy thao tác các bài trên là rất cơ bản nhưng hãy đọc kĩ nó, nếu không sẽ bị hỏng kiến thức. Giải thích của mình hơi dài dòng, nhưng do mình ko biết bạn đang học tới đâu nên ghi ra hết vậy vì lúc trước mình cũng từng đặt những câu hỏi cơ bản thế đây cho mình ^^!