-
Вопрос по информатике:
В произвольно заданной матрице размерам NxM упорядочить построчно
все значения элементов по возрастанию. на си будьте добры-
Автор:
damarionmeadows
-
-
#include <iostream.h> #include <time.h> #include <stdlib.h> #include <windows.h> #include <stdio.h> #include <algorithm> using namespace std; //19. Дана матрица размером NxM. //Упорядочить ее строки по возрастанию их наибольших элементов. // функция ввывода void print(int **arr, int nrow, int ncol) { for(int i = 0; i < nrow; i++) { for(int j = 0; j < ncol; j++) cout << arr[i][j] << "\t"; cout << endl; } } // функция ввывода //===================================== //функция сортировки void processor (int **arr, int nrow, int ncol) { int i,j,s,k; double mas[100]; int max=0; for(int i=0;i<ncol;i++) { for(int j=0;j<nrow;j++) { if(arr[i][j]>max) max=arr[i][j]; } for(int k = 0; k < nrow; k++) { mas[k]=max; } cout<<max<<" "; max=0; } for ( k = 0; k < nrow+1; k++) // сравниваем максимальные элементы строк { if ( mas[k] < mas[k+1]) { int temp; temp = *arr[j]; /* сохранить значение по адресу x */ *arr[j] = *arr[j+1]; /* поместить y в x */ *arr[j+1] = temp; /* поместить x в y */ } } cout<<" \n"; //double mas[Nmax][Nmax]; //int N=5,M=8; //for (int i=0; i<N; i++) //sort(mas+i, mas+i+M); system("Pause"); } //функция сортировки //===================================== int main() { SetConsoleOutputCP(1251); setlocale(LC_ALL,"Russian"); srand(unsigned (time(NULL))); int nrow, ncol, n1 = 0; int i, j; cout << "Введите кол-во строк: "; cin >> nrow; cout << endl << "Введите кол-во столбцов: "; cin >> ncol; int **arr = new int*[nrow]; for (i = 0; i < nrow; i++) arr[i] = new int [ncol]; cout << "Заполняем массив: " << endl << "1. Случайным образом" << endl << "2. Ввести вручную" << endl; cin >> n1; switch(n1) { case 1: for(int i = 0; i < nrow; i++) for(int j = 0; j < ncol; j++) arr[i][j] = rand()%100; cout << endl << "Сгенерированный массив: " << endl; print(arr, nrow, ncol); break; case 2: cout << endl << "Введите эл-ты массива: " ; for(int i = 0; i < nrow; i++) for(int j = 0; j < ncol; j++) cin >> arr[i][j]; cout << endl << "Введите сдвиг " << endl; print(arr, nrow, ncol); break; default : cout << "Ошибка" << endl; break; } cout << endl << endl << endl; processor(arr, nrow, ncol); print(arr, nrow, ncol); delete[]arr; }
Еще 4 ненужных тебе вопроса, но это важно для поиска
-
Вопрос по алгебре:
В ящике 30 шаров, из них 9 белых, 6 красных и 15 черных. Какова вероятность взять красный или белый шар?-
Ответов: 3
-
5 лет назад
-
-
Вопрос по математике:
Есть полный бак на 60 литров, где 60 литров есть 100%, соответственно 30 литров это 50% и 0 литров - 0%. Как посчитать, сколько литров будет равняться 40%???-
Ответов: 8
-
5 лет назад
-
-
Вопрос по математике:
2 т 486 кг +17ц+10к=? 40 лет-28 мес=? 4т 95 кг+4ц53кг=? 8м 6дм+360 см=? 24 ч 7мин 1с-3670=? 43 ц 82кг+3т 130 кг=? 3180мм-2 м 6 см=? 5кг 470 г+5600г=? 5м 9дм 19 мм-406см=? 57 лет 4 мес+48мес-
Ответов: 1
-
5 лет назад
-
-
Вопрос по геометрии:
В основании прямой призмы лежит прямоугольный треугольник с катетами 12 см и 9 см. Вычислить площадь полной поверхности призмы, высота которой 10 см.-
Ответов: 1
-
5 лет назад
-