如何插入一个单词并将字母放在2D数组中的不同索引中

how to insert a word and place the letters in different index in 2d array

本文关键字:2D 数组 索引 插入 何插入 一个 单词      更新时间:2023-10-16
insert element: hello

例如,i输入单词Hello,它应该将字母放在每个后续索引中。我尝试了字符串,但似乎它压缩到了一个索引,如果我尝试添加更多索引,我会给我出乎意料的行为。

  0  1  2  3  4  5  6  7  8  9
0 1  2  3  4  5  a  b  c  d  e
1 f  g  h  i  j  k  l  m  n  s
2 h  e  l  l  o
==========================================

这是我尝试不佳的代码:

#include<iostream>
std::string myarray[3][10] = {{"1","2","3","4","5","a","b","c","d","e"},
                            {"f","g","h","i","j","k","l","m","n","s",}, 
                            {" "," "," "," "," "," "," "," "," "," ",}};
void displaygrid();
using namespace std;
int main (){
    int col = 0;
    char insert; //i tried strings but it was out of order
        displaygrid();
        cout<<"==========================================" <<endl;
        cout<<"insert element: ";
        cin>>insert;
        myarray[2][col] = insert;
        cout<<"Insert Successful!" <<endl;
        col++;
        displaygrid();
}

void displaygrid(){
    cout<<endl;
    for(int z = 0; z<10; z++){
        cout<<"  "<<z;
    }
    cout<<endl;
    for(int x = 0; x<3; x++){
    cout<<x;
        for(int y = 0; y<10; y++){
            cout<<" " <<myarray[x][y] <<" ";
        }
    cout<<endl;
    }
}

正如@super所述,您可以使用字符串进行此操作。这是一些应该让您开始的代码。

#include<iostream>
#include<string>
int main(){
  std::string grid;
  //get insert element
  std::cout << "Insert Element: ";
  std::cin >> grid;
  //print the grid using rowLength for number of elements along x
  const int rowLength = 10;
  int run = 0;
  for(auto x : grid)
  {
    std::cout << x << " | ";
    run++;
    if(run >= rowLength)
    {
      std::cout << std::endl;
      run = 0;
    }
  }
}