Untitled
unknown
plain_text
a year ago
2.7 kB
3
Indexable
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
bool cont = true;
int rows, columns;
int a, b, c, d, y, x;
char board[25][25];
vector<char> copiedBoard;
string command;
char p;
cin >> command;
cin >> rows;
cin >> columns;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
cin >> board[i][j];
}
}
while (cont)
{
cin >> command;
if (command == "PRT")
{
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
cout << board[i][j];
}
cout << endl;
}
cout << endl;
}
else if (command == "END")
{
cont = false;
}
else if (command == "COPY")
{
copiedBoard.clear();
cin >> a;
cin >> b;
cin >> c;
cin >> d;
for (int i = a; i <= c; i++)
{
for (int j = b; j <= d; j++)
{
copiedBoard.push_back(board[i][j]);
}
copiedBoard.push_back('\n');
}
}
else if (command == "PASTE")
{
cin >> y;
cin >> x;
if (copiedBoard.empty())
{
cout << "ERROR" << endl;
}
else
{
int counter = 0;
for (int i = y; i < rows && counter < copiedBoard.size(); i++)
{
for (int j = x; j < columns && copiedBoard[counter] != '\n'; j++)
{
board[i][j] = copiedBoard[counter++];
}
counter++;
}
}
}
else if (command == "DRAW")
{
cin >> y;
cin >> x;
cin >> p;
cin >> d;
int radiusSquared = d * d;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < columns; j++)
{
int distSquared = (i - y) * (i - y) + (j - x) * (j - x);
if (distSquared <= radiusSquared)
{
board[i][j] = p;
}
}
}
}
}
return 0;
}Editor is loading...
Leave a Comment