C++实现智能仓库货架库存整理功能
以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <vector> using namespace std; // 整理货架函数 vector<vector<int>> organizeShelf(vector<vector<int>>& shelf) { int m = shelf.size(); int n = shelf[0].size(); vector<int> nonZeroItems; // 收集所有非零库存 for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { if (shelf[i][j] != 0) { nonZeroItems.push_back(shelf[i][j]); } } } // 填充非零库存到货架靠前位置 vector<vector<int>> organizedShelf(m, vector<int>(n, 0)); int index = 0; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { if (index < nonZeroItems.size()) { organizedShelf[i][j] = nonZeroItems[index]; index++; } } } return organizedShelf; } // 打印矩阵函数 void printMatrix(const vector<vector<int>>& matrix) { int m = matrix.size(); int n = matrix[0].size(); for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cout << matrix[i][j]; if (j < n - 1) { cout << " "; } } cout << endl; } } int main() { int m, n; cout << "请输入货架的行数 m 和列数 n: "; cin >> m >> n; vector<vector<int>> shelf(m, vector<int>(n)); cout << "请输入货架每个货位的库存:" << endl; for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { cin >> shelf[i][j]; } } vector<vector<int>> organizedShelf = organizeShelf(shelf); cout << "整理后的库存矩阵为:" << endl; printMatrix(organizedShelf); return 0; } ``` ### 代码解释: 1. **`organizeShelf` 函数**: - 首先遍历原始货架矩阵,将所有非零库存收集到 `nonZeroItems` 向量中。 - 然后创建一个新的矩阵 `organizedShelf`,初始值都为 0。 - 接着将 `nonZeroItems` 中的元素按顺序填充到 `organizedShelf` 中靠前的位置。 2. **`printMatrix` 函数**: - 用于打印矩阵,方便输出整理后的结果。 3. **`main` 函数**: - 读取用户输入的货架行数 `m` 和列数 `n`。 - 读取每个货位的库存,存储在 `shelf` 矩阵中。 - 调用 `organizeShelf` 函数进行整理,得到整理后的矩阵 `organizedShelf`。 - 调用 `printMatrix` 函数输出整理后的矩阵。 ######[AI问答 | 812点数解答 | 2026-03-08 10:41:12]
- Python 实现简易密码设置系统:多种功能交互与安全要点揭秘(字节豆包 | 286点数解答 | 2025-03-28 10:43:21)352
- C语言实现多功能密码设置系统:含代码及安全注意要点(字节豆包 | 414点数解答 | 2025-03-28 10:43:55)340
- C 语言实现:超简单密码设置系统,含代码与注意要点!(字节豆包 | 519点数解答 | 2025-03-28 12:42:02)379
- C语言实现密码管理系统:含功能代码与安全注意事项(字节豆包 | 409点数解答 | 2025-04-05 18:09:56)329
- C语言实现多功能密码系统:初始化、确认、设置、显示、重置与退出(字节豆包 | 454点数解答 | 2025-04-05 18:48:42)328
- C语言实现密码管理系统:含初始化、确认、设置、显示、重置及退出功能(字节豆包 | 413点数解答 | 2025-04-06 15:37:16)277
- C 语言实现密码管理系统:含初始化、确认、设置、显示、重置及退出功能(字节豆包 | 403点数解答 | 2025-04-06 15:37:54)288
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)338
- bookmanage 数据库表创建、测试数据添加及多需求 SQL 操作全解析(GPT | 909点数解答 | 2024-06-22 22:25:19)406
- WinForm实现图书管理系统:数据库操作、界面设计与功能全解析(GPT | 1163点数解答 | 2024-06-22 22:26:42)362
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)306
- 哈弗大狗 2026 款 7 月 17 日上市,9.89 万起开启潮玩越野新体验 (讯飞星火 | 351点数解答 | 2025-07-21 17:11:39)78