C++,控制台,cout 二维数组中的向量
C++,console, cout Vector in 2D array
我是 C++ 的新手,所以请怜悯。我正在尝试计算 40*20 二维数组中 "vector" 的开始和结束。但是 "b" 没有放在最后 2 个 for 循环中。最后,我想显示 2 个矢量,第二个矢量从 [0][0] 开始,方向与用户输入的方向相同。我也不知道如何让 b 成为从线的起点到线的终点,而不仅仅是起点和终点。但主要问题是x没有随b改变。
感谢您的帮助。
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int vectorsx;
int vectorsy;
int vectorendx;
int vectorendy;
char display[40][40];
char row;
char column;
typedef struct
{
double x;
double y;
}punkt;
typedef struct
{
punkt PA;
punkt PE;
}vector;
void query()
{
cout << "Startpunkt x:";
cin >> vectorsx;
cout << "Startpunkt y:";
cin >> vectorsy;
cout << "Endpunkt x:";
cin >> vectorendx;
cout << "Endpunkt y:";
cin >> vectorendy;
}
int main()
{
query();
vector v;
v.PA.x = vectorsx;
v.PA.y = vectorsy;
v.PE.x = vectorendx;
v.PE.y = vectorendy;
vector v2;
v2.PA.x = 0;
v2.PA.y = 0;
v2.PE.x = v.PE.x - v.PA.x;
v2.PE.y = v.PE.y - v.PA.y;
for (int row = 0; row < 20; row++)
{
for (int column = 0; column < 40; column++)
{
display[row][column] = 'x';
}
}
for (int row = 0; row < 20; row++)
{
for (int column = 0; column < 40; column++)
{
cout << display[row][column];
}
cout << endl;
}
for (row = 0; row < 20; row++)
{
for(column = 0; column < 40;column++)
{
display[vectorsx][vectorsy] = 'b';
}
}
for (row = 0; row < 20; row++)
{
for (column = 0; column < 40; column++)
{
display[vectorendx][vectorendy] = 'b';
}
}
system("Pause");
return 0;
}
您将 display
的所有元素设置为 'x'
。然后打印 dispaly
的内容。然后然后你把两个元素的内容改成b
。您不再打印数组。
在更改数组后执行打印。
您也不需要循环来进行更改,您正在更改同一个元素 800 次。
我是 C++ 的新手,所以请怜悯。我正在尝试计算 40*20 二维数组中 "vector" 的开始和结束。但是 "b" 没有放在最后 2 个 for 循环中。最后,我想显示 2 个矢量,第二个矢量从 [0][0] 开始,方向与用户输入的方向相同。我也不知道如何让 b 成为从线的起点到线的终点,而不仅仅是起点和终点。但主要问题是x没有随b改变。
感谢您的帮助。
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int vectorsx;
int vectorsy;
int vectorendx;
int vectorendy;
char display[40][40];
char row;
char column;
typedef struct
{
double x;
double y;
}punkt;
typedef struct
{
punkt PA;
punkt PE;
}vector;
void query()
{
cout << "Startpunkt x:";
cin >> vectorsx;
cout << "Startpunkt y:";
cin >> vectorsy;
cout << "Endpunkt x:";
cin >> vectorendx;
cout << "Endpunkt y:";
cin >> vectorendy;
}
int main()
{
query();
vector v;
v.PA.x = vectorsx;
v.PA.y = vectorsy;
v.PE.x = vectorendx;
v.PE.y = vectorendy;
vector v2;
v2.PA.x = 0;
v2.PA.y = 0;
v2.PE.x = v.PE.x - v.PA.x;
v2.PE.y = v.PE.y - v.PA.y;
for (int row = 0; row < 20; row++)
{
for (int column = 0; column < 40; column++)
{
display[row][column] = 'x';
}
}
for (int row = 0; row < 20; row++)
{
for (int column = 0; column < 40; column++)
{
cout << display[row][column];
}
cout << endl;
}
for (row = 0; row < 20; row++)
{
for(column = 0; column < 40;column++)
{
display[vectorsx][vectorsy] = 'b';
}
}
for (row = 0; row < 20; row++)
{
for (column = 0; column < 40; column++)
{
display[vectorendx][vectorendy] = 'b';
}
}
system("Pause");
return 0;
}
您将 display
的所有元素设置为 'x'
。然后打印 dispaly
的内容。然后然后你把两个元素的内容改成b
。您不再打印数组。
在更改数组后执行打印。
您也不需要循环来进行更改,您正在更改同一个元素 800 次。