В работе память для массива должна выделяться динамически. На экран выводить исходные данные и результат. Дана матрица размером NxM. Упорядочить ее строки по возрастанию их первых элементов. Задание на C++
Для примера со сложением чисел 25 учениками попробуйте проанализировать следующие ситуации: в классе всего 1 кусок мела; в классе 5 кусков мела; в классе 25 кусков мела. оцените, как от этого зависит время решения (учтите ещё ширину доски и время перемещения учеников по классу) попробуйте построить модель такого процесса. переведите эту ситуацию на язык компьютерной терминологии для многопроцессорных систем. 2) попробуйте примеры алгоритмов поиска информации в массиве и сортировки массива, которые допускают распараллеливание операций. опишите процедуру распараллеливания. сколько процессоров необходимо для эффективного распараллеливания в вами примере?
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int rows, cols;
cout << "Rows: ";
cin >> rows;
cout << "Cols: ";
cin >> cols;
cout << endl;
int** arr = new int* [rows];
for (int i = 0; i < rows; i++)
{
arr[i] = new int[cols];
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
arr[i][j] = rand() % 100;
cout.width(3);
cout << arr[i][j];
}
cout << endl;
}
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
for (int k = cols - 1; k >= 0; k--)
{
if (arr[i][k - 1] > arr[i][k])
{
int temp = arr[i][k - 1];
arr[i][k - 1] = arr[i][k];
arr[i][k] = temp;
}
}
}
}
cout << endl;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
cout.width(3);
cout << arr[i][j];
}
cout << endl;
}
for (int i = 0; i < rows; i++)
{
delete[] arr[i];
}
delete[] arr;
}
Объяснение: