LINUX.ORG.RU

История изменений

Исправление XMs, (текущая версия) :

Хорошо. На данный момент имеем:

  • Отсутствие проверки пользовательского ввода;
  • Мешанину из C и C++;
  • Заполнение матрицы набором из неправильного диапазона;
  • Отсутствие транспонирования.

Первое, полагаю, ты знаешь, как сделать, поэтому заострять внимание не буду. Массивы, если уж делаешь на плюсах, стоит объявить так:

--- int matrix [n][m];
+++ std::array<std::array<int, m>, n> matrix;
Для генерации случайных чисел в правильном диапазоне и средствами STL стоит сделать вот так (и добавить заголовочный файл random):
+++ std::random_device rd;
+++ std::mt19937 gen(rd());
+++ std::uniform_int_distribution<> distrib(0, 200);
    for (int i=0; i<n; i++)
+++   {
    	for (int j=0; j<m; j++)
--- 		matrix [i][j] = rand ();
+++ 		matrix[i][j] = distrib(gen);
+++   }

Транспонирование сделай самостоятельно хотя бы псевдокодом.

// Если в начале main() написать using namespace std;, то писать std:: в примерах выше будет не нужно

Исходная версия XMs, :

Хорошо. На данный момент имеем:

  • Отсутствие проверки пользовательского ввода;
  • Мешанину из C и C++;
  • Заполнение матрицы набором из неправильного диапазона;
  • Отсутствие транспонирования.

Первое, полагаю, ты знаешь, как сделать, поэтому заострять внимание не буду. Массивы, если уж делаешь на плюсах, стоит объявить так:

--- int matrix [n][m];
+++ std::array<std::array<int, m>, n> matrix;
Для генерации случайных чисел в правильном диапазоне и средствами STL стоит сделать вот так:
+++ std::random_device rd;
+++ std::mt19937 gen(rd());
+++ std::uniform_int_distribution<> distrib(0, 200);
    for (int i=0; i<n; i++)
+++   {
    	for (int j=0; j<m; j++)
--- 		matrix [i][j] = rand ();
+++ 		matrix[i][j] = distrib(gen);
+++   }

Транспонирование сделай самостоятельно хотя бы псевдокодом