簡體   English   中英

C ++,控制台,cout矢量(二維數組)

[英]C++,console, cout Vector in 2D array

我是C ++的新手,所以請留意。 我正在嘗試在2D數組40 * 20中指出“向量”的開始和結束。 但是“ 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次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM