我的主要问题是:
是否有更好(或更有效)的方法来使用指针声明多维数组?我所做的一切都在正确的轨道上?
方案编制工作:
你把书“C++”卖给傻瓜。使用二维数组存储3年月销售的输入(就图书数量而言,而不是金钱方面)。报告合并年份的总销售额。程序应该使用循环按月提示您,使用字符串对象数组,初始化为月份字符串,并将输入数据存储在二维数组中。然后,程序应该找到数组内容的和,并报告3年的总销售额。
这是我的代码的片段:
/* Global constants */
const unsigned int YRS = 3;
const unsigned int MNTHS = 12;
/* Create 2D-Array */
int** bookSalesArrayPtr = new int*[YRS]; // Pointer-to-Array-of-Pointers
for (unsigned int i = 0; i < YRS; ++i) // Each element of bookSalesArrayPtr
bookSalesArrayPtr[i] = new int[MNTHS]; // In each element create new array[12]下面是指向我的完整源代码的链接:http://ideone.com/LcQeuj
发布于 2012-10-28 22:22:57
任何解决办法都应该尽可能简单。如果不需要指针,那么就避免使用指针,因为它们会使程序复杂化:
int bookSales[YRS][MNTHS];注意这是多么容易读懂。请注意,没有管理分配、销毁或任何其他簿记的代码。
即使这样的结构增加了执行时间(这在这里是非常不可能的),考虑一下这会节省多少人工时间(开发人员、维护人员、调试器、文档)。电脑时间很便宜。人类的时间是宝贵的。
在评估解决方案时,忽略人力成本是非常普遍的。
https://stackoverflow.com/questions/13113358
复制相似问题