• Как переделать в этой задаче на С++ статический массив на динамический?

    #include <iostream>
    using namespace std;

    int main()

    {

    int a[][2] = {2,6,1,9,5,7,0,10};

    for (int i = 0; i < 4; i++)

    if (i % 2 == 0) {

    for (int k = 0; k < 2 - 1; k++)

    for (int j = 0; j < 2 - 1; j++)

    if (a[i][j] > a[i][j + 1])

    swap(a[i][j], a[i][j + 1]);

    }

    else

    for (int k = 0; k<2 - 1; k++)

    for (int j = 0; j<2 - 1; j++)

    if ( a[i][j]
    swap(a[i][j], a[i][j + 1]);

    // Вывод результата

    for (int i = 0; i < 4; i++) {

    for (int j = 0; j < 2; j++)

    cout « a[i][j] « " ";

    cout « endl;

    }

    return 0;

    }

Ответы 2

  • Понятно объяснил?
  • В начало main()

    size_t N, M;

    std::cin >> N >> M;

    int** a = new int [N]; // удалить старый массив и вставить этот

    for(int i = 0; i < N; i++)

    {

    a[i] = new int [M];

    }

    for(int i = 0; i < N; i++)

    {

    for(int j = 0; j < N; j++)

     std::cin >> a[i][j];//инициализируем с клавиатуры

    }

    В самый конец перед оператором ретурн:

    for(int i = 0; i < N; i++)

    {

    delete[] a[i];//удаляем

    }

    delete[] a;//удаляем

    Оперировать так же.

    • Автор:

      konner
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years