Загрузка...

Вопрос, что в этом коде, обозначает int e=0, и что обозначает функция int checkd

Тема в разделе C/C++ создана пользователем SkxlxrD 14 фев 2020. 248 просмотров

Загрузка...
  1. SkxlxrD
    SkxlxrD Автор темы 14 фев 2020 0 15 янв 2019
    include <iostream>
    #include <cstdlib>//библиотека для ввода и вывода информации cin, cout
    #include <ctime>// время
    using namespace std;//взяли параметр std из библиотеки <cstdlib>

    struct arr { //объявли тип класса структ и имя класса арр
    int* mas; // указатель на начало массива * означает адрес ячейки памяти
    int n; //количество строк
    int m; //количество столбцов
    void InitMas(int k1, int k2) //функция инициализации - выделения динамической памяти //под массив
    {// открывающая фигурная скобка
    if ((k1 > 0)& (k2 > 0)) //проверяем корректность ввода количества строк и столбцов
    { //открывающая фигурная скобка по команде иф
    n = k1;//количество строк массива
    m = k2;//количество столбцов массива
    mas = new int[n * m]; //резервируется n*m ячеек с целыми числами для переменной mas
    } //закрывающая фигурная скобка по команде иф
    else //этот код будет выполнен, если иф - ложь
    { //открывающая фигурная скобка по команде елсе

    }//закрывающая фигурная скобка по команде елсе
    } // закрывает процедуру Инит Мас
    void DelMas() //функция уничтожения массива
    {
    n = 0; // количество строк = 0
    m = 0;// количество столбцов = 0
    delete[]mas; //освобождение памяти от массива
    }
    void ReadMas() //процедура ввода массива
    {
    srand(time(NULL));//привязываем генератор случайных чисел ко времени
    cout << "Ввод массива\n"; //выводит указанный текст
    for (int i = 0; i < n; i++) //обход по строкам
    for (int j = 0; j < m; j++) //обход по элементам в и-ой строке
    {//фигурные скобки для выполнения нескольких команд в цикле фор
    //cin >> mas[i*m+j];//ввод элемента с клавиатуры (в данный момент не используется)
    //mas[i * m + j] = rand() % 2+1;//заполняем элементы массива случайными числами 1 или 2 (0 или 1 и + 1)
    //mas[i * m + j] = 2;
    //i,j - номер элемента в таблице, i * m + j - номер элемента в списке
    //i * m + j ---- прошли m элементов i раз (i строк)
    //и j элементов в i-ой строке
    //--- всего i * m + j элементов
    mas[i * m + j] = 0;
    }

    //for (int i = 0; i < n; i++)
    //for (int j = 0; j < m; j++)
    //{
    //cout << mas[i, j];
    //cout << " ";
    //}

    } //завершает процедуру ввода массива
    void ReadEl(int i, int j, int x)//процедура записи элемента х в массив, стоящего на месте i,j в таблице
    {//открывает процедуру
    mas[i * m + j] = x;//запись элемента х в массив, стоящего на месте i,j в таблице
    }//закрывает процедуру
    int rl(int i, int j)//процедура записи элемента х в массив, стоящего на месте i,j в таблице
    {//открывает процедуру
    return mas[i * m + j];
    }//закрывает процедуру
    void WriteMas() //процедура вывода элементов массива на экран
    {
    cout << "Вывод массива\n";//выводит соответствующий текст, \n - переход на новую строку после текста
    for (int i = 0; i < n; i++)//обход по строкам таблицы
    {//окрывает первый фор
    for (int j = 0; j < m; j++)//обход по элементам в и-ой строке
    {//окрывает второй фор, нужно, если команд в цикле фор больше 1
    cout << mas[i * m + j];//вывод элемента на месте i,j в таблице
    cout << " ";//вставляет пробел
    }//закрывает второй фор
    cout << '\n';//переход на новую строку
    }//закрывает первый фор
    cout << '\n'; //переход на новую строку
    }//завершение процедуры

    };
    int Masx(arr m, int i, int j) //функция получения элемента
    //int --- тип значения функции Masx --- имя функции(любое)
    //(arr m, int i, int j) --- аргументы функции и их типы
    {//открывает функцию
    int x;//локальная переменная и ее тип, используется только внутри функции
    x = m.mas[m.m * i + j];
    //m.mas[m.m*i+j]:
    //m - объект, который пришел в функцию
    //m.mas - поле мас объекта м
    //m.m - поле м объекта м = количество столбцов в массиве м
    //m.m*i+j - номер ячейки из всех ячеек, зарезервированных для мас
    //x = m.mas[m.m*i+j] - в х записывавем число из ячейки с номером m.m*i+j у объекта м
    return x;//переменная, которую будет возвращать функция при ее вызове
    }//завершает функцию
    int check_legacy(arr m) //функция проверки поля
    {
    int x, y;
    x = (Masx(m, 0, 0) * Masx(m, 0, 1) * Masx(m, 0, 2) - 1) * (Masx(m, 1, 0) * Masx(m, 1, 1) * Masx(m, 1, 2) - 1) * (Masx(m, 2, 0) * Masx(m, 2, 1) * Masx(m, 2, 2) - 1) * (Masx(m, 0, 0) * Masx(m, 1, 0) * Masx(m, 2, 0) - 1) * (Masx(m, 0, 1) * Masx(m, 1, 1) * Masx(m, 2, 1) - 1) * (Masx(m, 0, 2) * Masx(m, 1, 2) * Masx(m, 2, 2) - 1) * (Masx(m, 0, 0) * Masx(m, 1, 1) * Masx(m, 2, 2) - 1) * (Masx(m, 2, 0) * Masx(m, 1, 1) * Masx(m, 0, 2) - 1);
    y = (Masx(m, 0, 0) + Masx(m, 0, 1) + Masx(m, 0, 2) - 6) * (Masx(m, 1, 0) + Masx(m, 1, 1) + Masx(m, 1, 2) - 6) * (Masx(m, 2, 0) + Masx(m, 2, 1) + Masx(m, 2, 2) - 6) * (Masx(m, 0, 0) + Masx(m, 1, 0) + Masx(m, 2, 0) - 6) * (Masx(m, 0, 1) + Masx(m, 1, 1) + Masx(m, 2, 1) - 6) * (Masx(m, 0, 2) + Masx(m, 1, 2) + Masx(m, 2, 2) - 6) * (Masx(m, 0, 0) + Masx(m, 1, 1) + Masx(m, 2, 2) - 6) * (Masx(m, 2, 0) + Masx(m, 1, 1) + Masx(m, 0, 2) - 6);
    return x * y;
    }
    int check(arr m, int k) //функция проверки поля
    {
    int x1 = 1;
    int y1 = 0;
    int x2 = 1;
    int y2 = 0;
    int x3 = 1;
    int y3 = 0;
    int x4 = 1;
    int y4 = 0;
    int i = 0;
    int j = 0;
    int e = 0;
    int t = -1;
    for (i = 0; i < m.n; i++)
    for (j = 0; j < m.m; j++)
    {
    t = 1;
    x1 = 1;
    y1 = 0;
    x2 = 1;
    y2 = 0;
    x3 = 1;
    y3 = 0;
    x4 = 1;
    y4 = 0;
    for (e = 0; e < k; e++)
    {
    if (j + e < m.m)
    {
    x1 = x1 * m.rl(i, j + e);
    y1 = y1 + m.rl(i, j + e);
    }

    if (i + e < m.n && j + e < m.m)
    {
    x2 = x2 * m.rl(i + e, j + e);
    y2 = y2 + m.rl(i + e, j + e);
    }
    if (i + e < m.n)
    {
    x3 = x3 * m.rl(i + e, j);
    y3 = y3 + m.rl(i + e, j);
    }

    if (i - e >= 0 && j + e < m.m)
    {
    x4 = x4 * m.rl(i - e, j + e);
    y4 = y4 + m.rl(i - e, j + e);
    }
    }
    if (x1 == 1 && y1 == k) return 0;
    if (y1 == 2 * k) return 0;
    if (x2 == 1 && y2 == k) return 0;
    if (y2 == 2 * k) return 0;
    if (x3 == 1 && y3 == k) return 0;
    if (y3 == 2 * k) return 0;
    if (x4 == 1 && y4 == k) return 0;
    if (y4 == 2 * k) return 0;
    }
    return t;
    }
    int checkd(arr m, int k, int k1) //функция проверки поля
    {
    int x = -1;
    for (int i = 0; i < m.m; i++)//обход по строкам таблицы
    {//окрывает первый фор
    for (int j = 0; j < m.m; j++)//обход по элементам в и-ой строке
    {//окрывает второй фор, нужно, если команд в цикле фор больше 1
    if (m.mas[i * m.m + j] == 0)
    {
    m.ReadEl(i, j, k);
    if (check(m, k1) == 0) x = i * m.m + j;
    m.ReadEl(i, j, 0);
    }

    }//закрывает второй фор
    }//закрывает первый фор
    return(x);
    }
    int fcheck(arr m, int k)
    {
    int x1 = 1;
    int y1 = 0;
    int z1 = 0;
    int x2 = 1;
    int y2 = 0;
    int z2 = 0;
    int x3 = 1;
    int y3 = 0;
    int z3 = 0;
    int x4 = 1;
    int y4 = 0;
    int z4 = 0;
    int i = 0;
    int j = 0;
    int e = 0;
    int t = 0;
    for (i = 0; i < m.n; i++)
    for (j = 0; j < m.m; j++)
    {
    x1 = 1;
    y1 = 0;
    z1 = 0;
    x2 = 1;
    y2 = 0;
    z2 = 0;
    x3 = 1;
    y3 = 0;
    z3 = 0;
    x4 = 1;
    y4 = 0;
    z4 = 0;
    for (e = 0; e < k; e++)
    {
    if (j + e < m.m)
    {
    if (m.rl(i, j + e) != 0) x1 = x1 * m.rl(i, j + e);
    y1 = y1 + m.rl(i, j + e);
    z1++;
    }

    if (i + e < m.n && j + e < m.m)
    {
    if (m.rl(i + e, j + e) != 0) x2 = x2 * m.rl(i + e, j + e);
    y2 = y2 + m.rl(i + e, j + e);
    z2++;
    }
    if (i + e < m.n)
    {
    if (m.rl(i + e, j) != 0) x3 = x3 * m.rl(i + e, j);
    y3 = y3 + m.rl(i + e, j);
    z3++;
    }

    if (i - e >= 0 && j + e < m.m)
    {
    if (m.rl(i - e, j + e) != 0) x4 = x4 * m.rl(i - e, j + e);
    y4 = y4 + m.rl(i - e, j + e);
    z4++;
    }
    }
    //if (x1==1 && y1==k) return 0;
    //if (y1==2*k) return 0;
    //if (x2==1 && y2==k) return 0;
    //if (y2==2*k) return 0;
    //if (x3==1 && y3==k) return 0;
    //if (y3==2*k) return 0;
    //if (x4==1 && y4==k) return 0;
    //if (y4==2*k) return 0;
    if (y1 == 2 && x1 == 2 && z1 == k) t = t + 1;
    if (y2 == 2 && x2 == 2 && z2 == k) t = t + 1;
    if (y3 == 2 && x3 == 2 && z3 == k) t = t + 1;
    if (y4 == 2 && x4 == 2 && z4 == k) t = t + 1;
    }
    return t;
    }
    int main()//функция - точка входа - выполняется автоматически при запуске программы
    {//открывает главную процедуру маин
    setlocale(0, "russian");//разрешили русский язык
    cout << "Hello World!\n";//вывод текста
    arr m;//объявили переменну м как объект арр
    int kk = 5;
    m.InitMas(15, 15);//вызываем процедуру InitMas(3,3) для объекта м
    //создает массив укаханных размеров

    m.ReadMas(); // вызываем процедуру ReadMas() для объекта м
    //считывание массива с клавиатуры или его заполнение другим способом
    m.WriteMas(); // вызываем процедуру WriteMas() для объекта м
    //m.ReadEl(1,1,1);//запись указанного элемента на указанное место в массиве
    //m.WriteMas();
    bool Player = 0;
    int i = 0;
    int j = 0;
    int k = 0;
    int tp = 0;
    //cout << check(m,kk);
    while ((check(m, kk) != 0) && (k < m.n * m.m))
    {
    cin >> i;
    cin >> j;
    m.ReadEl(i - 1, j - 1, 2);
    system("clear");
    m.WriteMas();
    cout << '\n';
    cout << fcheck(m, kk);
    cout << '\n';
    k = k + 1;
    }


    cout << "линия найдена или закончилось поле";
    //cout << check(m);//вывод значения функции check(m)
    m.DelMas();//освобождает пaмять, зарезервированную ранее для объекта м

    return 0;
    }
     
  2. Fender_inactive2697143
    Нечитабельно, залей кодом
     
  3. esretard
    esretard 15 фев 2020 18 23 дек 2019
    Fender_inactive2697143, я конечно не SkxlxrD, но вот тоже самое кодом
    Код

    #include <iostream>
    #include <cstdlib>//библиотека для ввода и вывода информации cin, cout
    #include <ctime>// время
    using namespace std;//взяли параметр std из библиотеки <cstdlib>

    struct arr { //объявли тип класса структ и имя класса арр
    int* mas; // указатель на начало массива * означает адрес ячейки памяти
    int n; //количество строк
    int m; //количество столбцов
    void InitMas(int k1, int k2) //функция инициализации - выделения динамической памяти //под массив
    {// открывающая фигурная скобка
    if ((k1 > 0) & (k2 > 0)) //проверяем корректность ввода количества строк и столбцов
    { //открывающая фигурная скобка по команде иф
    n = k1;//количество строк массива
    m = k2;//количество столбцов массива
    mas = new int[n * m]; //резервируется n*m ячеек с целыми числами для переменной mas
    } //закрывающая фигурная скобка по команде иф
    else //этот код будет выполнен, если иф - ложь
    { //открывающая фигурная скобка по команде елсе

    }//закрывающая фигурная скобка по команде елсе
    } // закрывает процедуру Инит Мас
    void DelMas() //функция уничтожения массива
    {
    n = 0; // количество строк = 0
    m = 0;// количество столбцов = 0
    delete[]mas; //освобождение памяти от массива
    }
    void ReadMas() //процедура ввода массива
    {
    srand(time(NULL));//привязываем генератор случайных чисел ко времени
    cout << "Ввод массива\n"; //выводит указанный текст
    for (int i = 0; i < n; i++) //обход по строкам
    for (int j = 0; j < m; j++) //обход по элементам в и-ой строке
    {//фигурные скобки для выполнения нескольких команд в цикле фор
    //cin >> mas[i*m+j];//ввод элемента с клавиатуры (в данный момент не используется)
    //mas[i * m + j] = rand() % 2+1;//заполняем элементы массива случайными числами 1 или 2 (0 или 1 и + 1)
    //mas[i * m + j] = 2;
    //i,j - номер элемента в таблице, i * m + j - номер элемента в списке
    //i * m + j ---- прошли m элементов i раз (i строк)
    //и j элементов в i-ой строке
    //--- всего i * m + j элементов
    mas[i * m + j] = 0;
    }

    //for (int i = 0; i < n; i++)
    //for (int j = 0; j < m; j++)
    //{
    //cout << mas[i, j];
    //cout << " ";
    //}

    } //завершает процедуру ввода массива
    void ReadEl(int i, int j, int x)//процедура записи элемента х в массив, стоящего на месте i,j в таблице
    {//открывает процедуру
    mas[i * m + j] = x;//запись элемента х в массив, стоящего на месте i,j в таблице
    }//закрывает процедуру
    int rl(int i, int j)//процедура записи элемента х в массив, стоящего на месте i,j в таблице
    {//открывает процедуру
    return mas[i * m + j];
    }//закрывает процедуру
    void WriteMas() //процедура вывода элементов массива на экран
    {
    cout << "Вывод массива\n";//выводит соответствующий текст, \n - переход на новую строку после текста
    for (int i = 0; i < n; i++)//обход по строкам таблицы
    {//окрывает первый фор
    for (int j = 0; j < m; j++)//обход по элементам в и-ой строке
    {//окрывает второй фор, нужно, если команд в цикле фор больше 1
    cout << mas[i * m + j];//вывод элемента на месте i,j в таблице
    cout << " ";//вставляет пробел
    }//закрывает второй фор
    cout << '\n';//переход на новую строку
    }//закрывает первый фор
    cout << '\n'; //переход на новую строку
    }//завершение процедуры

    };
    int Masx(arr m, int i, int j) //функция получения элемента
    //int --- тип значения функции Masx --- имя функции(любое)
    //(arr m, int i, int j) --- аргументы функции и их типы
    {//открывает функцию
    int x;//локальная переменная и ее тип, используется только внутри функции
    x = m.mas[m.m * i + j];
    //m.mas[m.m*i+j]:
    //m - объект, который пришел в функцию
    //m.mas - поле мас объекта м
    //m.m - поле м объекта м = количество столбцов в массиве м
    //m.m*i+j - номер ячейки из всех ячеек, зарезервированных для мас
    //x = m.mas[m.m*i+j] - в х записывавем число из ячейки с номером m.m*i+j у объекта м
    return x;//переменная, которую будет возвращать функция при ее вызове
    }//завершает функцию
    int check_legacy(arr m) //функция проверки поля
    {
    int x, y;
    x = (Masx(m, 0, 0) * Masx(m, 0, 1) * Masx(m, 0, 2) - 1) * (Masx(m, 1, 0) * Masx(m, 1, 1) * Masx(m, 1, 2) - 1) * (Masx(m, 2, 0) * Masx(m, 2, 1) * Masx(m, 2, 2) - 1) * (Masx(m, 0, 0) * Masx(m, 1, 0) * Masx(m, 2, 0) - 1) * (Masx(m, 0, 1) * Masx(m, 1, 1) * Masx(m, 2, 1) - 1) * (Masx(m, 0, 2) * Masx(m, 1, 2) * Masx(m, 2, 2) - 1) * (Masx(m, 0, 0) * Masx(m, 1, 1) * Masx(m, 2, 2) - 1) * (Masx(m, 2, 0) * Masx(m, 1, 1) * Masx(m, 0, 2) - 1);
    y = (Masx(m, 0, 0) + Masx(m, 0, 1) + Masx(m, 0, 2) - 6) * (Masx(m, 1, 0) + Masx(m, 1, 1) + Masx(m, 1, 2) - 6) * (Masx(m, 2, 0) + Masx(m, 2, 1) + Masx(m, 2, 2) - 6) * (Masx(m, 0, 0) + Masx(m, 1, 0) + Masx(m, 2, 0) - 6) * (Masx(m, 0, 1) + Masx(m, 1, 1) + Masx(m, 2, 1) - 6) * (Masx(m, 0, 2) + Masx(m, 1, 2) + Masx(m, 2, 2) - 6) * (Masx(m, 0, 0) + Masx(m, 1, 1) + Masx(m, 2, 2) - 6) * (Masx(m, 2, 0) + Masx(m, 1, 1) + Masx(m, 0, 2) - 6);
    return x * y;
    }
    int check(arr m, int k) //функция проверки поля
    {
    int x1 = 1;
    int y1 = 0;
    int x2 = 1;
    int y2 = 0;
    int x3 = 1;
    int y3 = 0;
    int x4 = 1;
    int y4 = 0;
    int i = 0;
    int j = 0;
    int e = 0;
    int t = -1;
    for (i = 0; i < m.n; i++)
    for (j = 0; j < m.m; j++)
    {
    t = 1;
    x1 = 1;
    y1 = 0;
    x2 = 1;
    y2 = 0;
    x3 = 1;
    y3 = 0;
    x4 = 1;
    y4 = 0;
    for (e = 0; e < k; e++)
    {
    if (j + e < m.m)
    {
    x1 = x1 * m.rl(i, j + e);
    y1 = y1 + m.rl(i, j + e);
    }

    if (i + e < m.n && j + e < m.m)
    {
    x2 = x2 * m.rl(i + e, j + e);
    y2 = y2 + m.rl(i + e, j + e);
    }
    if (i + e < m.n)
    {
    x3 = x3 * m.rl(i + e, j);
    y3 = y3 + m.rl(i + e, j);
    }

    if (i - e >= 0 && j + e < m.m)
    {
    x4 = x4 * m.rl(i - e, j + e);
    y4 = y4 + m.rl(i - e, j + e);
    }
    }
    if (x1 == 1 && y1 == k) return 0;
    if (y1 == 2 * k) return 0;
    if (x2 == 1 && y2 == k) return 0;
    if (y2 == 2 * k) return 0;
    if (x3 == 1 && y3 == k) return 0;
    if (y3 == 2 * k) return 0;
    if (x4 == 1 && y4 == k) return 0;
    if (y4 == 2 * k) return 0;
    }
    return t;
    }
    int checkd(arr m, int k, int k1) //функция проверки поля
    {
    int x = -1;
    for (int i = 0; i < m.m; i++)//обход по строкам таблицы
    {//окрывает первый фор
    for (int j = 0; j < m.m; j++)//обход по элементам в и-ой строке
    {//окрывает второй фор, нужно, если команд в цикле фор больше 1
    if (m.mas[i * m.m + j] == 0)
    {
    m.ReadEl(i, j, k);
    if (check(m, k1) == 0) x = i * m.m + j;
    m.ReadEl(i, j, 0);
    }

    }//закрывает второй фор
    }//закрывает первый фор
    return(x);
    }
    int fcheck(arr m, int k)
    {
    int x1 = 1;
    int y1 = 0;
    int z1 = 0;
    int x2 = 1;
    int y2 = 0;
    int z2 = 0;
    int x3 = 1;
    int y3 = 0;
    int z3 = 0;
    int x4 = 1;
    int y4 = 0;
    int z4 = 0;
    int i = 0;
    int j = 0;
    int e = 0;
    int t = 0;
    for (i = 0; i < m.n; i++)
    for (j = 0; j < m.m; j++)
    {
    x1 = 1;
    y1 = 0;
    z1 = 0;
    x2 = 1;
    y2 = 0;
    z2 = 0;
    x3 = 1;
    y3 = 0;
    z3 = 0;
    x4 = 1;
    y4 = 0;
    z4 = 0;
    for (e = 0; e < k; e++)
    {
    if (j + e < m.m)
    {
    if (m.rl(i, j + e) != 0) x1 = x1 * m.rl(i, j + e);
    y1 = y1 + m.rl(i, j + e);
    z1++;
    }

    if (i + e < m.n && j + e < m.m)
    {
    if (m.rl(i + e, j + e) != 0) x2 = x2 * m.rl(i + e, j + e);
    y2 = y2 + m.rl(i + e, j + e);
    z2++;
    }
    if (i + e < m.n)
    {
    if (m.rl(i + e, j) != 0) x3 = x3 * m.rl(i + e, j);
    y3 = y3 + m.rl(i + e, j);
    z3++;
    }

    if (i - e >= 0 && j + e < m.m)
    {
    if (m.rl(i - e, j + e) != 0) x4 = x4 * m.rl(i - e, j + e);
    y4 = y4 + m.rl(i - e, j + e);
    z4++;
    }
    }
    //if (x1==1 && y1==k) return 0;
    //if (y1==2*k) return 0;
    //if (x2==1 && y2==k) return 0;
    //if (y2==2*k) return 0;
    //if (x3==1 && y3==k) return 0;
    //if (y3==2*k) return 0;
    //if (x4==1 && y4==k) return 0;
    //if (y4==2*k) return 0;
    if (y1 == 2 && x1 == 2 && z1 == k) t = t + 1;
    if (y2 == 2 && x2 == 2 && z2 == k) t = t + 1;
    if (y3 == 2 && x3 == 2 && z3 == k) t = t + 1;
    if (y4 == 2 && x4 == 2 && z4 == k) t = t + 1;
    }
    return t;
    }
    int main()//функция - точка входа - выполняется автоматически при запуске программы
    {//открывает главную процедуру маин
    setlocale(0, "russian");//разрешили русский язык
    cout << "Hello World!\n";//вывод текста
    arr m;//объявили переменну м как объект арр
    int kk = 5;
    m.InitMas(15, 15);//вызываем процедуру InitMas(3,3) для объекта м
    //создает массив укаханных
     
  4. SkxlxrD
    SkxlxrD Автор темы 15 фев 2020 0 15 янв 2019
    Предыстория, этот код писал препод, он сам не зная программирования, задаёт какие-то вопросы..
     
  5. Irving_Fisher
    Irving_Fisher 15 фев 2020 Заблокирован(а) 32 23 янв 2020
    Пиздец, а не код
    Тупо все программы, которые стоит писать по началу(массив, hello world, циклы и тд) он засунул в одно, ебануться можно
     
  6. esretard
    esretard 15 фев 2020 18 23 дек 2019
    SkxlxrD, нуууу int e = 0; это создание целочисленной переменной е, и ее инициализация значением 0, а int checkd это объявление функции, которая называется ckeckd и возвращает целое число
    --- Сообщение объединено с предыдущим 15 фев 2020
    Прочитал первые комментарии в коде, using namespace std это не "взятие из библиотеки параметра std", кто вообще придумал эту шизофазию, struct arr это объявление класса а не структуры, а
    } // Фигурная скобка
    Это вообще вышка
     
  7. Fender_inactive2697143
    Быдлокод какой-то, рили
     
Top