// Lab2_12.cpp: определяет точку входа для консольного приложения.
//
#include "iostream"
#include "stdlib.h"
using namespace std;
const int n = 3, m = 4;
//Возвращает сумму парных положительных элементов строки матрицы
int Sum(int *a) {
int sum = 0;
for (int i = 1; i < m; i += 2)//Проходимся по парным (четным?) элементам строки
if (a[i] > 0)
sum += a[i];
return sum;
}
//Сортирует строки матрицы
void Sort(int**a) {
int b;
for(int i=1;i<n;i++)
for(int j=i;j>0 && Sum(a[j-1])>Sum(a[j]);j--)
//swap(x[j-1],x[j]);
for (int k = 0; k<m; k++) {//Переписываем строку на новую позицию
b = a[j][k];
a[j][k] = a[j + 1][k];
a[j + 1][k] = b;
}
cout << "Result:" << endl;
for (int i = 0; i<n; i++)
{
for (int j = 0; j<m; j++)
cout << a[i][j] << "\t";
cout << "Sum= " << Sum(a[i]) << endl;
}
}
int main()
{
int **a;
int i, j;
//Создаем матрицу
a = new int*[n];
for (i = 0; i<n; i++)
a[i] = new int[m];
//Инициализируем матрицу рандомом
srand(0);
for (i = 0; i<n; i++)
for (j = 0; j<m; j++)
a[i][j] = rand() % 10 - 5;//10 - диапазон значений рандома, -5 - нижняя граница диапазона случайных значений
//Выводим исходную матрицу
cout << "MASSIV:" << endl;
for (i = 0; i<n; i++)
{
for (j = 0; j<m; j++)
cout << a[i][j] << "\t";
cout << endl;
}
//Сортируем матрицу
Sort(a);
//Очистка памяти
for (i = 0; i<n; i++)
delete[] a[i];
delete[]a;
a = NULL;
system("pause");
return 0;
}
Ly8gTGFiMl8xMi5jcHA6INC+0L/RgNC10LTQtdC70Y/QtdGCINGC0L7Rh9C60YMg0LLRhdC+0LTQsCDQtNC70Y8g0LrQvtC90YHQvtC70YzQvdC+0LPQviDQv9GA0LjQu9C+0LbQtdC90LjRjy4KLy8KCiNpbmNsdWRlICJpb3N0cmVhbSIKI2luY2x1ZGUgInN0ZGxpYi5oIgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpjb25zdCBpbnQgbiA9IDMsIG0gPSA0OwovL9CS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YPQvNC80YMg0L/QsNGA0L3Ri9GFINC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3Ri9GFINGN0LvQtdC80LXQvdGC0L7QsiDRgdGC0YDQvtC60Lgg0LzQsNGC0YDQuNGG0YsKaW50IFN1bShpbnQgKmEpIHsKCWludCBzdW0gPSAwOwoJZm9yIChpbnQgaSA9IDE7IGkgPCBtOyBpICs9IDIpLy/Qn9GA0L7RhdC+0LTQuNC80YHRjyDQv9C+INC/0LDRgNC90YvQvCAo0YfQtdGC0L3Ri9C8Pykg0Y3Qu9C10LzQtdC90YLQsNC8INGB0YLRgNC+0LrQuAoJCWlmIChhW2ldID4gMCkKCQkJc3VtICs9IGFbaV07CglyZXR1cm4gc3VtOwp9CgovL9Ch0L7RgNGC0LjRgNGD0LXRgiDRgdGC0YDQvtC60Lgg0LzQsNGC0YDQuNGG0YsKdm9pZCBTb3J0KGludCoqYSkgewppbnQgYjsKZm9yKGludCBpPTE7aTxuO2krKykgICAgIAoJZm9yKGludCBqPWk7aj4wICYmIFN1bShhW2otMV0pPlN1bShhW2pdKTtqLS0pIAoJCQkvL3N3YXAoeFtqLTFdLHhbal0pOyAgIAoJCQkJZm9yIChpbnQgayA9IDA7IGs8bTsgaysrKSB7Ly/Qn9C10YDQtdC/0LjRgdGL0LLQsNC10Lwg0YHRgtGA0L7QutGDINC90LAg0L3QvtCy0YPRjiDQv9C+0LfQuNGG0LjRjgoJCQkJCWIgPSBhW2pdW2tdOwoJCQkJCWFbal1ba10gPSBhW2ogKyAxXVtrXTsKCQkJCQlhW2ogKyAxXVtrXSA9IGI7Cgl9Cgljb3V0IDw8ICJSZXN1bHQ6IiA8PCBlbmRsOwoJZm9yIChpbnQgaSA9IDA7IGk8bjsgaSsrKQoJewoJCWZvciAoaW50IGogPSAwOyBqPG07IGorKykKCQkJY291dCA8PCBhW2ldW2pdIDw8ICJcdCI7CgkJY291dCA8PCAiU3VtPSAiIDw8IFN1bShhW2ldKSA8PCBlbmRsOwoJfQp9CgppbnQgbWFpbigpCnsKCWludCAqKmE7CglpbnQgaSwgajsKCS8v0KHQvtC30LTQsNC10Lwg0LzQsNGC0YDQuNGG0YMKCWEgPSBuZXcgaW50KltuXTsKCWZvciAoaSA9IDA7IGk8bjsgaSsrKQoJCWFbaV0gPSBuZXcgaW50W21dOwoJLy/QmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdC8INC80LDRgtGA0LjRhtGDINGA0LDQvdC00L7QvNC+0LwKCXNyYW5kKDApOwoJZm9yIChpID0gMDsgaTxuOyBpKyspCgkJZm9yIChqID0gMDsgajxtOyBqKyspCgkJCWFbaV1bal0gPSByYW5kKCkgJSAxMCAtIDU7Ly8xMCAtINC00LjQsNC/0LDQt9C+0L0g0LfQvdCw0YfQtdC90LjQuSDRgNCw0L3QtNC+0LzQsCwgLTUgLSDQvdC40LbQvdGP0Y8g0LPRgNCw0L3QuNGG0LAg0LTQuNCw0L/QsNC30L7QvdCwINGB0LvRg9GH0LDQudC90YvRhSDQt9C90LDRh9C10L3QuNC5CgoKCQkJCQkJCQkJICAvL9CS0YvQstC+0LTQuNC8INC40YHRhdC+0LTQvdGD0Y4g0LzQsNGC0YDQuNGG0YMKCWNvdXQgPDwgIk1BU1NJVjoiIDw8IGVuZGw7Cglmb3IgKGkgPSAwOyBpPG47IGkrKykKCXsKCQlmb3IgKGogPSAwOyBqPG07IGorKykKCQkJY291dCA8PCBhW2ldW2pdIDw8ICJcdCI7CgkJY291dCA8PCBlbmRsOwoJfQoJLy/QodC+0YDRgtC40YDRg9C10Lwg0LzQsNGC0YDQuNGG0YMKCVNvcnQoYSk7CgoJLy/QntGH0LjRgdGC0LrQsCDQv9Cw0LzRj9GC0LgKCWZvciAoaSA9IDA7IGk8bjsgaSsrKQoJCWRlbGV0ZVtdIGFbaV07CglkZWxldGVbXWE7CglhID0gTlVMTDsKCXN5c3RlbSgicGF1c2UiKTsKCXJldHVybiAwOwp9Cgo=