我能够与代码打印阵列的列表在2D见下表萨姆数组表
#include <iostream>
#include <vector>
using namespace std;
void inputRoutine(vector<int> &a)
{
const int MAXNUM = 17;
for (int i = 1; i <= MAXNUM; i++) a.push_back(i);
}
void printRoutine(vector<int> a)
{
const int COLS = 5;
int size = a.size();
int fullrows = size/COLS;
int leftover = size % COLS;
int rows = fullrows + (leftover != 0);
cout << "TABLE:\n";
for (int i = 0; i < rows; i++)
{
int indexTop = 0;
for (int j = 0; j < COLS; j++)
{
int index = indexTop + i;
if (i < fullrows || j < leftover) cout << a[index];
cout << '\t';
if (j < leftover) indexTop += rows; top-of-column 1-d index for the number in this column
else indexTop += fullrows;
}
cout << '\n';
}
}
int main()
{
vector<int> a;
inputRoutine(a);
printRoutine(a);
}
和我能够产生低于
TABLE: 1 5 9 12 15
2 6 10 13 16
3 7 11 14 17
4 8
输出作为现在我想要得到打印表格的总和如下 (第一个数字是列号,第一行的第5列表示单独的行总数42,47,52,12,如表中所给出的,第二行列号1:如果只有1列,那么有17行 - 它应该是亲达斯总数)
C ROW SUMS
5 42 47 52 12
************************************
1 153
************************t***********
2 11 13 15 17 19 21 23 25 9
************************************
如何做到这一点,可以有人帮助。
42 = 1 + 5 + 9 + 12 + 15 52 = 3 + 7 + 11 + 14 + 17 47 = 2 + 6 + 10 + 13 + 16 12 = 4 + 8 – Eranka
它应该运行通过'COLS'的所有可能的选择或者只有一个有限集合,例如'1
Jonas
当选择第5列时应计算每行的总和,并且当选择第1列时,应计算1到17的总和 – Eranka