c ++如何在2D数组的列中添加元素

时间:2015-02-23 10:34:42

标签: c++ arrays

我需要帮助din添加2列的元素。 第二列中的应该是2(bcos 1 + 1)。添加每个单元格的值(sum = 2)。如何添加列的元素。循环应向下移动列并添加值

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
#include <cctype>
#include <cstring>
#include <cstdio>
#include <cstdlib>

using namespace std;

int main()
{
  char text[6][6];
    ifstream stream1("c:\\cpptestdata.txt");

    if(!stream1)
    {
        cout<<"Cannot read file\n";

    }

    while(!stream1.eof())
    {
        for(int i=0; i<6; i++)
        {
            for(int j=0; j<6; j++)
            {
                stream1>>text[i][j];
            }

        }

    }
//checking if it has been correctly inserted.
for(int i=0; i<6; i++)
    {
        for(int j=0; j<6; j++)
        {
            cout<<text[i][j]<<"\t";

        }
        cout<<"\n";

    }
 cout<<"first two rows:"<<endl;
 int i,j;
 for (i=0; i<2; i++){
 for (j=0; j<6; j++){
            std::cout<<text[i][j]<<"\t"<<' ';

            }cout<<endl;
}
cout<<"find immediate neighbours of A:"<<endl;
char largest=text[1][1];
for(i=0; i<6; i++){
    for(j=1; j<2; j++){
        if(text[i][j]>largest)
             cout<<text[i][0]<<"N"<<"\t";
        else
        cout<<"0";


}cout<<endl;
}
        cout <<" finding k neighbours for A : "<<endl;

        for (i=1; i<6; i++){
        int max = text[1][1]-'0';
     for(j = 1; j<2; j++){
            if(max < (text[i][j]-'0')){
                max = text[i][j]-'0';
                cout<<max;
            }
            else
                cout <<"xx";
        }cout<<endl;
}


       return 0;
    }

2 个答案:

答案 0 :(得分:1)

通常,如果您想访问列c,请编写如下内容:

for (int i = 0; i < 6; ++i) {
    // access column c with text[i][c]
}

答案 1 :(得分:0)

编写以下代码以添加数组第二列的元素,假设代码中包含以下内容:

  1. 这是一个6x6阵列。
  2. 您使用的是字符数组,而不是整数数组。 (我不明白这个需要)。

    cout << "sum of elements\n";
    int sum = 0;
    for(i=0;i<6;i++)
    {
    
      sum = sum + (text[i][2] - '0'); //Convert char to int and add
      cout <<" SUM = "<<sum<<"\n";
    }
    
  3. 如果没有特殊原因,请将数组定义为int数组本身。然后你可以直接添加值。

    for(i=0;i<6;i++)
    {
    
      sum = sum + text[i][2]; 
      cout <<" SUM = "<<sum<<"\n";
    }