docs(10_Wiki): Dev 폴더 누락분 반영 — Topic_Programming으로 통합
이전 재구성 작업에서 Dev/ 폴더가 누락되었던 것을 반영. - Dev/Topic_Programming(중첩 폴더, 78개)은 Dev 자체 최상위 폴더들 (Architecture/Conventions/Engineering_Intelligence 등)과 완전 중복이라 제거. - Dev 최상위 엔지니어링 지식 폴더(Architecture/Conventions/Engineering_Intelligence/ Failure_Library/Generalized_Principles/Language/Pattern_Catalog/Platform_Guides/ Subsystems, 77개)는 이미 Topic_Programming/Topic_Programming에 더 최신 버전이 존재해 중복 제거(고유 콘텐츠 1개는 예외 처리하여 이동 보존). - Dev의 W3Schools 언어 튜토리얼 폴더(Topic_C/CPP/CSS/CSharp/HOWTO/HTML/Java/ JavaScript/PHP/Python/SQL/W3CSS, 1201개)는 전부 Topic_Programming 하위로 이동. - 에이전트 운영 상태(.astra/docs)는 그대로 유지, 콘텐츠 폴더만 정리. - Topic_Programming 최종 문서 수: 2784 → 3985.
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
---
|
||||
id: cpp-arrays-multi
|
||||
title: "C++ Multi-Dimensional Arrays"
|
||||
category: "Programming_Language"
|
||||
status: "draft"
|
||||
verification_status: "conceptual"
|
||||
canonical_id: ""
|
||||
aliases: ["2D array", "3D array", "battleship game", "C++ 다차원 배열"]
|
||||
duplicate_of: ""
|
||||
source_trust_level: "B"
|
||||
confidence_score: 0.86
|
||||
created_at: 2026-07-04
|
||||
updated_at: 2026-07-04
|
||||
review_reason: ""
|
||||
merge_history: []
|
||||
tags: ["cpp", "programming-language", "w3schools", "arrays", "multidimensional"]
|
||||
raw_sources: ["https://www.w3schools.com/cpp/cpp_arrays_multi.asp"]
|
||||
applied_in: []
|
||||
github_commit: ""
|
||||
---
|
||||
|
||||
# [[CPP Multi-Dimensional Arrays]]
|
||||
|
||||
## 🎯 한 줄 통찰 (One-line insight)
|
||||
The Battleship mini-game demonstrates that a 2D `bool` array can serve as a complete GAME STATE representation — ship positions stored as `true`/`false` grid cells, hit-tracking done by simply flipping a cell to `false` after a hit — showing multi-dimensional arrays aren't just abstract grid storage but a natural fit for representing real interactive state that changes over a program's runtime. [S1]
|
||||
|
||||
## 🧠 핵심 개념 (Core concepts)
|
||||
- **Multi-dimensional array** — "an array of arrays"; each additional `[]` in the declaration adds one more dimension. [S1]
|
||||
- **2D array (`type name[rows][cols]`)** — declared with two bracket pairs; initialized with nested array literals (`{ {...}, {...} }`). [S1]
|
||||
- **Dual-index access** — `letters[row][col]` addresses a specific cell; zero-based. [S1]
|
||||
- **One nested loop per dimension** — a 2D array needs 2 nested loops; a 3D array needs 3. [S1]
|
||||
- **Grids as game state** — a `bool` 2D array can model ship positions in a Battleship-style game; a hit is registered by flipping the cell's value to `false`. [S1]
|
||||
|
||||
## 📖 세부 내용 (Details)
|
||||
- Creating and accessing a 2D array: `string letters[2][4] = { {"A","B","C","D"}, {"E","F","G","H"} }; cout << letters[0][2]; // "C"`. [S1]
|
||||
- A 3D array declaration and full triple-nested loop: `string letters[2][2][2] = {...}; for (i...) { for (j...) { for (k...) { cout << letters[i][j][k]; } } }`. [S1]
|
||||
- Battleship game using a 2D bool array as ship-position state: `bool ships[4][4] = { {0,1,1,0}, {0,0,0,0}, {0,0,1,0}, {0,0,1,0} }; if (ships[row][column]) { ships[row][column] = 0; hits++; }`. [S1]
|
||||
|
||||
## ⚖️ 모순 및 업데이트 (Contradictions & updates)
|
||||
- 현재까지 발견된 모순 사항 없음 (No contradictions found in available sources). C 챕터와 동일한 다차원 배열 구조/접근 방식이 확인됨.
|
||||
|
||||
## 🛠️ 적용 사례 (Applied in summary)
|
||||
4x4 격자에 배 위치를 bool 값으로 저장하고, 명중 시 해당 칸을 0으로 바꾸는 배틀십 미니게임이 원문에서 직접 실전 활용 사례로 제시됨(다차원 배열이 실제 게임 상태를 표현하는 방법). [S1]
|
||||
|
||||
## 💻 코드 패턴 (Code patterns)
|
||||
A 2D bool array modeling ship positions, with a hit flipping the cell to false (C++):
|
||||
```cpp
|
||||
bool ships[4][4] = {
|
||||
{ 0, 1, 1, 0 },
|
||||
{ 0, 0, 0, 0 },
|
||||
{ 0, 0, 1, 0 },
|
||||
{ 0, 0, 1, 0 }
|
||||
};
|
||||
if (ships[row][column]) {
|
||||
ships[row][column] = 0; // register the hit
|
||||
hits++;
|
||||
}
|
||||
```
|
||||
|
||||
## ✅ 검증 상태 및 신뢰도
|
||||
- **상태:** draft
|
||||
- **검증 단계:** conceptual
|
||||
- **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body)
|
||||
- **신뢰 점수:** 0.86
|
||||
- **중복 검사 결과:** 신규 생성 (New discovery)
|
||||
|
||||
## 🔗 지식 그래프 (Knowledge Graph)
|
||||
- **상위/루트:** [[C++ Tutorial]]
|
||||
- **관련 개념:** [[CPP Arrays Loop]], [[CPP For Loop Nested]], [[CPP Arrays Omit]]
|
||||
- **참조 맥락:** 다차원 배열 — 배열 크기 생략(Arrays Omit) 챕터로 이어짐.
|
||||
|
||||
## 📚 출처 (Sources)
|
||||
- [S1] W3Schools — C++ Multi-Dimensional Arrays — https://www.w3schools.com/cpp/cpp_arrays_multi.asp
|
||||
|
||||
## 📝 변경 이력 (Change history)
|
||||
- 2026-07-04: Initial draft synthesized from the W3Schools "C++ Multi-Dimensional Arrays" page (Astra wiki-curation, P-Reinforce v3.1 format).
|
||||
Reference in New Issue
Block a user