Hỏi/ Thắc mắc - Em mới học IDE nên chưa hiểu code này? | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Hỏi/ Thắc mắc Em mới học IDE nên chưa hiểu code này?

Bao Toan

Gà con
Câu hỏi: Viết chương trình đảo mảng một chiều:
Ví dụ: 1234==>4321
int n;
cout<<"Nhap mang: ";
cin>>n;
int M[n];
for (int i=0;i<n;i++)
{
M=rand()%10;
}
for (int i=0;i<n;i++)
{
cout<<"M["<<i<<"]= "<<M<<"\t\t";
}
cout<<"\nMang nguoc chieu:\n";
for (int i=0;i<n/2;i++)
{
int temp=M;
M=M[n-i-1];
M[n-i-1]=temp;
}
for(int i=0;i<n;i++)
{
cout<<"M["<<i<<"]="<<M<<"\t";
}
Em không hiểu lệnh for thứ 3. Mong các bác giúp dùm em ạ!
 

shinken

Búa Gỗ Đôi
Có phải câu lệnh này không?
"cin>>n; "
Nhận giá trị nhập từ console. tức là người dùng sẽ nhập vào giá trị từ bàn phím
 

dammage

Rìu Chiến
lần sau bạn nhớ bỏ code vô trong thẻ code nha, để không như trên thứ 1 là không có thụt dòng rất khó đọc, thứ 2 là nó bị lỗi như chỗ M [ i ], cái [ i ] bị hiểu lầm thành tag in nghiêng thành ra bị mất còn có M không à, câu hỏi mà đã sai thì không thể có câu trả lời đúng được đâu, bỏ vô tag code như tui vầy nè

Mã:
int n;
cout << "Nhap mang: ";
cin >> n;
int M[n];

for (int i = 0; i < n; i++)
{
    M[i] = rand() % 10;
}

for (int i = 0; i < n; i++)
{
    cout << "M[" << i << "]= " << M[i] << "\t\t";
}

cout << "\nMang nguoc chieu:\n";
for (int i = 0; i < n/2; i++)
{
    int temp = M[i];
    M[i] = M[n - i - 1];
    M[n - i - 1] = temp;
}

for(int i = 0; i < n; i++)
{
    cout << "M[" << i << "]=" << M[i] << "\t";
}

cái for thứ 3 chỉ đơn giản là hoán đổi phần tử ở phía đầu với phía cuối mảng thôi, M[ i ] là phần tử bên này mảng, M[n - i - 1] là phần tử ở phía đối xứng bên kia mảng, hoán vị xong sẽ được mảng ngược chiều

bạn thử làm bằng tay sẽ hiểu, chẳng hạn có mảng sau
5 9 8 7 2 4 3 6 0

Mã:
5    9    8    7    2    4    3    6    0
^    ^    ^    ^         ^    ^    ^    ^
|    |    |    |_________|    |    |    |
|    |    |___________________|    |    |
|    |_____________________________|    |
|_______________________________________|
hoán đổi 5 với 0
0 9 8 7 2 4 3 6 5

9 với 6
0 6 8 7 2 4 3 9 5

8 với 3
0 6 3 7 2 4 8 9 5

7 với 4
0 6 3 4 2 7 8 9 5

2 là phần tử ở giữa đứng 1 mình nên giữ nguyên, kết quả là bạn sẽ được mảng ngược chiều so với ban đầu
 


Top