Я создал двухмерный динамический массив, вывод таблицы, а вот как упорядочить строки по возрастанию их наибольших элементов.. .. вообще хз. Хелпаните плиз, кто шарит)
#include <iostream> #include <ctime> using namespace std; int main(){ srand(time(0)); int n, m; cin >> n >> m; int **arr = new int*[n]; for(int i = 0; i < n; i++){ arr[i] = new int[m]; for(int j = 0; j < m; j++){ arr[i][j] = rand() % 20; cout << arr[i][j] << " "; } cout << endl; } int *max = new int[n]; for(int i = 0; i < n; i++){ int max_i = arr[i][0]; for(int j = 0; j < m; j++){ if(max_i < arr[i][j]) max_i = arr[i][j]; } max[i] = max_i; } int *index = new int[n]; for(int i = 0; i < n; i++) index[i] = i; for(int i = 0; i < n; i++){ for(int j = 0; j < n - 1; j++){ if(max[j] > max[j + 1]){ int temp = max[j]; max[j] = max[j + 1]; max[j + 1] = temp; temp = index[j]; index[j] = index[j + 1]; index[j + 1] = temp; } } } for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cout << arr[index[i]][j] << " "; } cout << endl; } return 0; } C #include <iostream> #include <ctime> using namespace std; int main(){ srand(time(0)); int n, m; cin >> n >> m; int **arr = new int*[n]; for(int i = 0; i < n; i++){ arr[i] = new int[m]; for(int j = 0; j < m; j++){ arr[i][j] = rand() % 20; cout << arr[i][j] << " "; } cout << endl; } int *max = new int[n]; for(int i = 0; i < n; i++){ int max_i = arr[i][0]; for(int j = 0; j < m; j++){ if(max_i < arr[i][j]) max_i = arr[i][j]; } max[i] = max_i; } int *index = new int[n]; for(int i = 0; i < n; i++) index[i] = i; for(int i = 0; i < n; i++){ for(int j = 0; j < n - 1; j++){ if(max[j] > max[j + 1]){ int temp = max[j]; max[j] = max[j + 1]; max[j + 1] = temp; temp = index[j]; index[j] = index[j + 1]; index[j + 1] = temp; } } } for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cout << arr[index[i]][j] << " "; } cout << endl; } return 0; } Пробуй
LVLUPer, Я вообще не понимаю, что ты сделал) Оно просто отзеркаливает таблицу) Насколько я понимаю, должна создаваться таблица, которую мы не видим, допустим : 2 5 0 9 4 7 2 5 6 3 8 0 и при помощи сортировки, мы должны превратить её в : 0 2 5 9 2 7 5 4 0 3 8 6 Большее число должно оставаться на месте, а остальные сортироваться по возрастанию от него.