我已经创建了一个二维数组程序,我正在尝试打印出基于用户选择的数组
这是数组
1 2 3
1a b c
2d e f
3g h i
如果用户键在1b3中,它将显示 adgbehcfi
如果输入c21,它将显示 cfibehadg
现在我已经创建了数组,但是如果我打算如何根据用户输入打印出阵列的顺序,请帮助我。谢谢。
花了一天时间,以下是我的代码
#include <iostream>;
using namespace std;
int main()
{
string alphabate;
string array[3][3];
string a="abcdefghi";
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
array[i][j] = a[j+ (i * 3)];
}
}
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
cout << array[i][j];
}
cout << endl;
}
cout << "Enter some alphabate:";
cin >>alphabate;
return 0;
}
答案 0 :(得分:0)
据我所知,您只想根据用户输入的列号/索引打印数组元素。这就是我意识到的。希望有所帮助:)
#include <iostream>
#include <string>
using namespace std;
string array[3][3];
//function that prints the column c of the array
void printArray(int c) {
for(int i=0; i<3; i++) {
cout << array[i][c];
}
}
int main() {
string alphabate;
string a="abcdefghi";
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
array[i][j] = a[j+ (i * 3)];
}
}
cout << "Enter some alphabate:";
cin >> alphabate;
//checking the input parameters
for (int j=0; j<3; j++) {
if (alphabate[j] == '1' || alphabate[j] == 'a') {
printArray(0);
}
else if (alphabate[j] == '2' || alphabate[j] == 'b') {
printArray(1);
}
else if (alphabate[j] == '3' || alphabate[j] == 'c') {
printArray(2);
}
else {
cout << "Error";
}
}
return 0;
}