Menu
×

Được chứng nhận

Ghi lại kiến ​​thức của bạn

Đăng nhập Đăng ký

Tạo Tài khoản Example.com.vn miễn phí để cải thiện trải nghiệm học tập của bạn

Người tìm đường và việc học của tôi

Theo dõi tiến độ học tập của bạn tại Example.com.vn và thu thập phần thưởng

Nâng cấp

Trở thành người dùng PLUS và mở khóa các tính năng mạnh mẽ (không có quảng cáo, lưu trữ, hỗ trợ, ..)

Bắt đầu từ đâu

Bạn không chắc chắn muốn bắt đầu từ đâu? Đi theo con đường được hướng dẫn của chúng tôi

Trình chỉnh sửa mã (Dùng thử)

Với trình chỉnh sửa mã trực tuyến của chúng tôi, bạn có thể chỉnh sửa mã và xem kết quả trong trình duyệt của mình

Video

Tìm hiểu những điều cơ bản về HTML qua video hướng dẫn thú vị và hấp dẫn

Mẫu

Chúng tôi đã tạo một loạt mẫu trang web đáp ứng mà bạn có thể sử dụng - miễn phí!

Web hosting

Lưu trữ trang web của riêng bạn và chia sẻ nó với mọi người với Example.com.vn Spaces

Tạo một máy chủ

Tạo máy chủ của riêng bạn bằng Python, PHP, React.js, Node.js, Java, C#, v.v.

Làm thế nào để

Bộ sưu tập lớn các đoạn mã cho HTML, CSS và JavaScript

Khung CSS

Xây dựng các trang web nhanh và phản hồi bằng cách sử dụng khung W3.CSS miễn phí của chúng tôi

Thống kê trình duyệt

Đọc xu hướng dài hạn của việc sử dụng trình duyệt

Tốc độ gõ

Kiểm tra tốc độ đánh máy của bạn

Đào tạo AWS

Tìm hiểu dịch vụ web của Amazon

Bộ chọn màu

Sử dụng công cụ chọn màu của chúng tôi để tìm các màu RGB, HEX và HSL khác nhau. Bánh xe màu hình tròn thể hiện sự chuyển màu trong quang phổ

Trò chơi mã

Trò chơi mã hóa W3Schools! Giúp linh miêu thu thập nón thông Logo Lynx

Đặt mục tiêu

Nhận hành trình học tập được cá nhân hóa dựa trên các kỹ năng và mục tiêu hiện tại của bạn

Bản tin

Tham gia bản tin của chúng tôi và có quyền truy cập vào nội dung độc quyền mỗi tháng

Việc làm

Thuê những tài năng công nghệ hàng đầu. Hợp lý hóa quy trình tuyển dụng của bạn để có đội ngũ phù hợp hoàn hảo

Lớp học

Hãy liên hệ để sử dụng Example.com.vn Plus và các chứng chỉ với tư cách là một tổ chức giáo dục

×
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP CÁCH W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS AN NINH MẠNG DỮ LIỆU KHOA HỌC

Hướng dẫn C++

C++ TRANG CHỦ C++ Giới thiệu C++ Bắt đầu Cú pháp C++ Kết quả C++ Nhận xét về C++ Biến trong C++ Đầu vào của người dùng C++ Kiểu dữ liệu C++ Toán tử C++
Phép gán số học So sánh logic
Chuỗi C++ Toán C++ Boolean C++ Điều kiện C++ Chuyển đổi C++ Vòng lặp while trong C++ C++ cho vòng lặp C++ Ngắt/Tiếp tục mảng C++ Cấu trúc C++ Tài liệu tham khảo C++ Con trỏ C++

Hàm C++

Hàm C++ Tham số hàm C++ Nạp chồng hàm C++ Đệ quy C++

Các lớp C++

C++ OOP Lớp/Đối tượng C++ Phương thức lớp C++ Trình xây dựng C++ Bộ xác định truy cập C++ Đóng gói C++ Kế thừa C++ Đa hình trong C ++ Tệp C++ Ngoại lệ C++

C++ Cách thực hiện

Cộng Hai Số

Tài liệu tham khảo C++

Hàm toán học

Ví dụ về C++

Ví dụ về C++ Trình biên dịch C++ Bài tập C ++ Bài kiểm tra C++ Chứng chỉ C++


Mảng đa chiều trong C++


Mảng đa chiều

Mảng nhiều chiều là một mảng gồm nhiều mảng.

Để khai báo một mảng nhiều chiều, hãy xác định loại biến, chỉ định tên của mảng, theo sau là dấu ngoặc vuông cho biết mảng chính có bao nhiêu phần tử, theo sau là một bộ dấu ngoặc vuông khác cho biết mảng con có bao nhiêu phần tử :

string letters[2][4];

Giống như các mảng thông thường, bạn có thể chèn các giá trị bằng một mảng bằng chữ - một danh sách được phân tách bằng dấu phẩy bên trong dấu ngoặc nhọn. Trong mảng nhiều chiều, mỗi phần tử trong một mảng đều là một mảng khác.

string letters[2][4] = {
  { "A", "B", "C", "D" },
  { "E", "F", "G", "H" }
};

Mỗi bộ dấu ngoặc vuông trong khai báo mảng sẽ thêm một chiều khác vào mảng. Một mảng như mảng trên được cho là có hai chiều.

Mảng có thể có số chiều bất kỳ. Mảng càng có nhiều chiều thì mã càng trở nên phức tạp. Mảng sau có ba chiều:

string letters[2][2][2] = {
  {
    { "A", "B" },
    { "C", "D" }
  },
  {
    { "E", "F" },
    { "G", "H" }
  }
};

Truy cập các phần tử của mảng nhiều chiều

Để truy cập một phần tử của mảng nhiều chiều, hãy chỉ định số chỉ mục trong mỗi chiều của mảng.

Câu lệnh này truy cập giá trị của phần tử ở hàng đầu tiên (0)cột thứ ba (2) của mảng các chữ cái .

Ví dụ

string letters[2][4] = {
  { "A", "B", "C", "D" },
  { "E", "F", "G", "H" }
};

cout << letters[0][2];  // Outputs "C"
Hãy tự mình thử »

Hãy nhớ rằng: Chỉ mục mảng bắt đầu bằng 0: [0] là phần tử đầu tiên. [1] là phần tử thứ hai, v.v.


Thay đổi các phần tử trong mảng nhiều chiều

Để thay đổi giá trị của một phần tử, hãy tham khảo số chỉ mục của phần tử trong mỗi thứ nguyên:

Ví dụ

string letters[2][4] = {
  { "A", "B", "C", "D" },
  { "E", "F", "G", "H" }
};
letters[0][0] = "Z";

cout << letters[0][0];  // Now outputs "Z" instead of "A"
Hãy tự mình thử »

Lặp qua một mảng nhiều chiều

Để lặp qua một mảng nhiều chiều, bạn cần một vòng lặp cho mỗi chiều của mảng.

Ví dụ sau xuất ra tất cả các phần tử trong mảng chữ cái :

Ví dụ

string letters[2][4] = {
  { "A", "B", "C", "D" },
  { "E", "F", "G", "H" }
};

for (int i = 0; i < 2; i++) {
  for (int j = 0; j < 4; j++) {
    cout << letters[i][j] << "\n";
  }
}
Hãy tự mình thử »

Ví dụ này cho thấy cách lặp qua một mảng ba chiều:

Ví dụ

string letters[2][2][2] = {
  {
    { "A", "B" },
    { "C", "D" }
  },
  {
    { "E", "F" },
    { "G", "H" }
  }
};

for (int i = 0; i < 2; i++) {
  for (int j = 0; j < 2; j++) {
    for (int k = 0; k < 2; k++) {
      cout << letters[i][j][k] << "\n";
    }
  }
}
Hãy tự mình thử »

Tại sao mảng đa chiều?

Mảng đa chiều rất tốt trong việc biểu diễn lưới. Ví dụ này cho thấy cách sử dụng thực tế của chúng. Trong ví dụ sau, chúng tôi sử dụng mảng đa chiều để thể hiện một trò chơi Battleship nhỏ:

Ví dụ

// We put "1" to indicate there is a ship.
bool ships[4][4] = {
  { 0, 1, 1, 0 },
  { 0, 0, 0, 0 },
  { 0, 0, 1, 0 },
  { 0, 0, 1, 0 }
};

// Keep track of how many hits the player has and how many turns they have played in these variables
int hits = 0;
int numberOfTurns = 0;

// Allow the player to keep going until they have hit all four ships
while (hits < 4) {
  int row, column;

  cout << "Selecting coordinates\n";

  // Ask the player for a row
  cout << "Choose a row number between 0 and 3: ";
  cin >> row;

  // Ask the player for a column
  cout << "Choose a column number between 0 and 3: ";
  cin >> column;

  // Check if a ship exists in those coordinates
  if (ships[row][column]) {
    // If the player hit a ship, remove it by setting the value to zero.
    ships[row][column] = 0;

    // Increase the hit counter
    hits++;

    // Tell the player that they have hit a ship and how many ships are left
    cout << "Hit! " << (4-hits) << " left.\n\n";
  } else {
    // Tell the player that they missed
    cout << "Miss\n\n";
  }

  // Count how many turns the player has taken
  numberOfTurns++;
}

cout << "Victory!\n";
cout << "You won in " << numberOfTurns << " turns";
Chạy ví dụ »

×

Liên hệ bán hàng

Nếu bạn muốn sử dụng dịch vụ của Example.com.vn với tư cách là một tổ chức giáo dục, nhóm hoặc doanh nghiệp, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Báo cáo lỗi

Nếu bạn muốn báo cáo lỗi hoặc nếu bạn muốn đưa ra đề xuất, hãy gửi email cho chúng tôi:
[email được bảo vệ]

Example.com.vn được tối ưu hóa cho việc học tập và đào tạo. Các ví dụ có thể được đơn giản hóa để cải thiện khả năng đọc và học. Các hướng dẫn, tài liệu tham khảo và ví dụ liên tục được xem xét để tránh sai sót, nhưng chúng tôi không thể đảm bảo tính chính xác hoàn toàn của mọi nội dung. Khi sử dụng W3Schools, bạn đồng ý đã đọc và chấp nhận các điều khoản sử dụng , chính sách cookie và quyền riêng tư của chúng tôi.

Bản quyền 1999-2024 của Refsnes Data. Đã đăng ký Bản quyền. Example.com.vn được cung cấp bởi W3.CSS .