为矩阵创建动态数组,以循环迭代器命名
Create Dynamic Arrays for Matrices named after loop iterator
我已经学习了一个程序来根据用户输入创建数量数量。但是现在我希望为矩阵(2D)创建数组来保存矩阵的元素。
用户应输入他想要的矩阵数量和每个矩阵的大小并输入相应的数字。
这是我研究的普通代码。我希望它适用于矩阵。
#include <iostream>
int main()
{
unsigned int n;
std::cout << "Enter number of arrays: ";
std::cin >> n;
double** array = new double*[n];
unsigned int* sizeOfInnerArrays = new unsigned int[n];
for (int i = 0; i < n; ++i)
{
std::cout << "Enter size of array " << i << ": ";
std::cin >> sizeOfInnerArrays[i];
array[i] = new double[sizeOfInnerArrays[i]];
for (int j = 0; j < sizeOfInnerArrays[i]; ++j)
{
int element;
std::cout << "Enter element " << j << " of array " << i << ": ";
std::cin >> element;
array[i][j] = element;
}
}
//prints out each array as curly-brace enclosed sets of doubles
for (int i = 0; i < n; ++i)
{
std::cout << "{";
for (int j = 0; j < sizeOfInnerArrays[i] - 1; ++j)
{
std::cout << array[i][j] << ", ";
}
std::cout << array[i][sizeOfInnerArrays[i] - 1] << "}" << std::endl;
}
// free dynamically allocated memory
for (int i = 0; i < n; ++i)
{
delete [] array[i];
}
delete[] array;
delete[] sizeOfInnerArrays;
return 0;
}
首先,Paulmckenzie在评论中是正确的,您应该真正使用std :: vector,而不是直接使用堆指针,这要简单得多。
我也不真的知道你有什么问题,所以这里有一些评论。
如果每行都有不同数量的元素,则该矩阵如何?对我来说,这只是一件概念上的事情,到目前为止,它只是列表的列表。如果那是您想要的凉爽,但是如果您想要一个矩阵,则需要在尺寸上更加严格。
代码客观上没有任何问题,我想说这个问题确实不属于这里。代码没有问题,如果有明确说出问题的问题。
编辑:我看到您想适应矩阵,实际上我会说,如果您想练习,只需使用std :: vector
进行矩阵类编辑:创建矩阵类的意思是从字面上看。定义一种矩阵类类型,该类型将处理给定Dimensons的矩阵的所有通用操作,然后您的MAN确实需要所有这些用于循环和迭代来创建矩阵。您只会将它们存储 std::vector<Matrix> matricies; matricies.push_back(Matrix(2,3))
这是C 类的参考
相关文章:
- 对于set上的循环-获取next元素迭代器
- 将多个 for 循环组合成单个迭代器
- 使用一个 for 循环如何迭代和测试迭代器值?
- 转到基于范围的 for 循环中的下一个迭代器
- C++:返回一个基于范围 for 循环迭代器,其中包含继承对象
- 在分配和发布递增循环迭代器时C++无限循环(gcc 错误?
- 具有迭代器和自定义步长的循环结束条件
- 映射中循环的迭代器
- 如何基于循环迭代器选择函数
- 嵌套循环和重复迭代器
- 从基于迭代器的for循环转换后,如何在map::find()中调用方法
- 创建一个简单的前向迭代器,该迭代器在循环缓冲区的"end"处自动换行
- 在C++中,是否可以在单个循环中顺序迭代多个迭代器
- 优先级队列(使用 pairs<int,int> ) 根据 for 循环迭代器的顶级元素
- 为矩阵创建动态数组,以循环迭代器命名
- 对于循环迭代器问题 c++
- C++:循环迭代器
- 如何正确使用boost::iterator_adaptor来制作循环迭代器
- 动态创建以for循环迭代器命名的数组
- 不带循环迭代器的枚举