Вывод двумерного массива при перестановке столбцов

Суть задания заключается в перестановке столбцов двумерного массива так, чтобы в заданной строке сначала стояли отрицательные, потом нули, потом положительные числа. Проблема заключается в выводе массива: сплошной столбец.Подскажите как исправить. Думал насчет вывода через printf, но не уверен. Код программы ниже

int Func(int arr[Str][Col], int x, int y)
{
  system("cls");
  int line;
  int calc;
  cout << "Введите номер строки для выполнения функции" << endl;
  cin >> line;
  //при проходе цикла ищем сначала отрицательные столбцы и переставляем их, не нужна сортировка

    for (int j = 0; j < y; j++)
    {
        if (arr[line][j] < 0)
        {
            int calc = j;
            for (int i = 0; i < x; i++)
            {
                cout << setw(1) << arr[i][calc]<<endl;
            }
            cout << setw(10);
        }
        else
        {
            int calc = j;
            for (int i = 0; i < x; i++)
            {
                cout << arr[i][calc] << endl;
            }
            cout << setw(10);
          }
          
      }

    return 0;

}


Ответы (0 шт):