InsideDarkWeb.com

Перестановка и вывод двумерного массива по заданной строке

Проблема в том что некоректно выводится двумерный массив, после перестановки столбцов этого массива так, чтобы в заданной строке сначала стояли отрицательные, потом нули, потом положительные числа. Я пробовал вставлять

cout<<endl;

Но он выводил постоянно в сплошной столбец

    Код программы
    //на вход подается статический массив и его размерность (x и y)
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++)
          {
            printf("%5d n", arr[i][calc]); // вот проблема 
          }
        

      }
   }
   for (int j = 0; j < y; j++)
   {
     if (arr[line][j] > 0)
     {
        int calc = j;
        for (int i = 0; i < x; i++)
        {
            printf("%5d", arr[i][calc]); // вот проблема 
        }
        
     }
  }
  return 0;
}

Заранее спасибо за помощь

One Answer

При выводе массива в консоль нужно, выводя ряд в массиве, между элементами вставлять не перевод строки, а пробел. А вот уже между рядами массива вставлять перевод строки ("n").

Вот полный исправленный код:

    //на вход подается статический массив и его размерность (x и y)
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++)
          {
            printf("%5d ", arr[i][calc]); // вот проблема 
          }
          printf("n");
      }
   }
   for (int j = 0; j < y; j++)
   {
     if (arr[line][j] > 0)
     {
        int calc = j;
        for (int i = 0; i < x; i++)
        {
            printf("%5d ", arr[i][calc]); // вот проблема 
        }
        printf("n");
     }
  }
  return 0;
}

Correct answer by Arty on February 16, 2021

Add your own answers!

Related Questions

Не могу понять почему не работает echo

1  Asked on August 12, 2020 by java-js-html-css

 

Не работает Raycast

1  Asked on August 10, 2020 by yukio-ito

   

Синхронизация потоков, различия

1  Asked on July 30, 2020 by gwenbleidd

     

Получить данные ajax

0  Asked on July 25, 2020 by ilyaaa521

         

Вставка записанного результата в

1  Asked on July 23, 2020 by quick-brown-fox

 

Ask a Question

Get help from others!

© 2021 InsideDarkWeb.com. All rights reserved.