Тема: Хрестики нолики
Допоможіть, переробити цей код, як зробити не повторения ходів, щоб б наприклад позиція 1:1 я не міг 2 раза вводить.
#include "pch.h"
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
 
using namespace std;
 
void print_field(char field[3][3]);
 
int main()
{
    int p1, p2;
    char xo;
    int k;
    char xi = 'X', oi = '0';
    char field[3][3];
 
    for (size_t i = 0; i < 9; i++)
        field[i / 3][i % 3] = ' ';
 
    for (int i = 0; i < 9; i++)
    {
 
        cout << " i Position: ";
        cin >> p1; cout << '\n'; 
        cout << " j Position: ";
        cin >> p2; cout << '\n';
        cout << endl;
        while (p1 > 3 || p2 > 3)
        {
            cout << "Error position" << endl;
            cout << " i Position: ";
            cin >> p1; cout << '\n';
            cout << " j Position: ";
            cin >> p2; cout << '\n';
        }
        cout << " 1 - Enter X and 2 - Entrer O:   ";
        cin >> k;
        cout << '\n';
        switch (k)
        { 
            case 1:
                xo = 'X';
                    break;
            case 2:
                xo = 'O';
                    break;
        }
        field[p1][p2] = xo;
        print_field(field);
        
    }
 
 
    print_field(field);
 
    system("cls");
 
    print_field(field);
 
 
 
    return 0;
}
 
void print_field(char field[3][3])
{
    char a[14] = { 218,196,196,196,194,196,196,196,194,196,196,196,191,'\0' };
    //char a1[14] = { 179, 32, 179, 32, 179, 32, 179 };
    char a2[14] = { 195,196,196,196,197,196,196,196,197,196,196,196,180,'\0' };
    char a3[14] = { 192,196,196,196,193,196,196,196,193,196,196,196,217,'\0' };
 
    cout << a << '\n';
 
    for (size_t i = 0; i < 3; i++)
        cout << (char)179 << ' ' << field[0][i] << ' ';
    cout << (char)179 << '\n';
 
    cout << a2 << '\n';
 
    for (size_t i = 0; i < 3; i++)
        cout << (char)179 << ' ' << field[1][i] << ' ';
    cout << (char)179 << '\n';
 
    cout << a2 << '\n';
 
    for (size_t i = 0; i < 3; i++)
        cout << (char)179 << ' ' << field[2][i] << ' ';
    cout << (char)179 << '\n';
 
    cout << a3 << '\n';
}