我正在尝试总结我的每一列到第7行,但我无法弄清楚如何显示如下:
100 101 102 103 104 105
106 107 108 109 110 111
112 113 114 115 116 117
118 119 120 121 122 123
124 125 126 127 128 131
560 565 570 575 580 587
此表的列需要总结到数组的最后一行。 这就是我想出的:
//Libraries
#include<ctime>
#include <cstdlib>
#include <iostream>
#include <iomanip>
using namespace std;
//Global constants
const int ROWS=7, COLS=7;
//function prototypes
void add(int [][COLS]);
void prntAry(int [][COLS]);
//execution begins here
int main(int argc, char** argv){
//Declare Variables
//fill array
int array[ROWS][COLS]={{100,101,102,103,104,105,0},
{106,107,108,109,110,111,0},
{112,113,114,115,116,117,0},
{118,119,120,121,122,123,0},
{124,125,126,127,128,131,0},
{0,0,0,0,0,0}};
add(array);
system("Pause");
return 0;
}
void add(int a[][COLS]){
cout<<endl;
int i=0;
for(i;i<ROWS;i++)
for(int row=0;row<ROWS;row++){
a[i][7]+=a[i][row];
}
prntAry(a);
}
void prntAry(int a[][COLS]){
cout<<endl;
for(int row=0;row<ROWS;row++){
for(int col=0;col<COLS;col++){
cout<<setw(4)<<a[row][col];
}
cout<<endl;
}
cout<<endl;
}
答案 0 :(得分:2)
您将显示到最后一列。如果您只想要前6列
void prntAry(int a[][COLS]){
cout<<endl;
int lastcol = COLS - 1;
for(int row=0;row<ROWS;row++){
for(int col=0;col<lastcol;col++){
cout<<setw(4)<<a[row][col];
}
cout<<endl;
}
cout<<endl;
}
此外,在例程添加中,a未正确索引
void add(int a[][COLS]){
cout << endl;
int lastcol = COL - 1;
for (int row = 0; row < ROWS; row++) {
for (int col = 0; col < lastcol; ++col)
a[row][lastcol] += a[row][col];
}
prntAry(a);
}