我需要在其中实现5x5动态数组 其中的每个元素都等于其两个索引的总和。例如,第一个元素at(0,0)的值为0 + 0 = 0.
这是我的代码:
# include<iostream>
using namespace std;
int main()
{
int size =5;
int *array=new int[size];
for (int i = 0; i < size; i++)
delete [] array;
return 0;
}
我需要帮助来实现索引的总和。
答案 0 :(得分:1)
首先需要实现一个二维数组。:)
你在这里。
#include <iostream>
int main()
{
const size_t N = 5;
int ( *array )[N] = new int[N][N];
for ( size_t i = 0; i < N; i++ )
{
for ( size_t j = 0; j < N; j++ ) array[i][j] = i + j;
}
for ( size_t i = 0; i < N; i++ )
{
for ( size_t j = 0; j < N; j++ ) std::cout << array[i][j] << ' ';
std::cout << std::endl;
}
delete [] array;
return 0;
}
并且不要注意答案被拒绝投票。答案没有错。 :)
答案 1 :(得分:0)
首先,您应该创建一个二维数组,而不仅仅是一个数组。
void foo() {
int **a = new int*[5];
for (int i = 0; i < 5; i++)
a[i] = new int[5];
}
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
a[i][j] = i + j;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++)
cout << a[i][j] << " ";
cout << endl;
}
for (int i = 0; i < 5; i++)
delete[] a[i];
delete[] a;
}
当然,不要忘记清除记忆)