#include <iostream>
#define M 3
#define N 3
using namespace std;
int getnumberofpositive(int argc,int x[])
{
int count = 0;
for(int i = 0; i < argc; i++)
if (x[i] > 0)
count++;
return count;
}
int main()
{
int a[M][N] = {{-1,-2,3},{4,-5,6},{7,8,9}};
cout << "Inputed array:" <<endl;
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
cout << a[i][j] << " ";
cout << endl;
}
int vector[M];
for (int i = 0; i < M; i++)
vector[i] = getnumberofpositive(N, a[i]);
int flag = 1;
while (flag)
{
flag = 0;
for (int i = 1; i < M; ++i) {
if (vector[i] > vector[i-1])
{
flag = 1;
swap(vector[i], vector[i-1]);
swap(a[i],a[i-1]);
}
}
}
cout << endl << "new array:" <<endl;
for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
cout << a[i][j] << " ";
cout << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojZGVmaW5lIE0gMwojZGVmaW5lIE4gMwogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIAppbnQgZ2V0bnVtYmVyb2Zwb3NpdGl2ZShpbnQgYXJnYyxpbnQgeFtdKQp7CiAgICBpbnQgY291bnQgPSAwOwogICAgZm9yKGludCBpID0gMDsgaSA8IGFyZ2M7IGkrKykKICAgICAgICBpZiAoeFtpXSA+IDApCiAgICAgICAgICAgIGNvdW50Kys7CiAgICByZXR1cm4gY291bnQ7Cn0KIAppbnQgbWFpbigpCnsKICAgIGludCBhW01dW05dID0ge3stMSwtMiwzfSx7NCwtNSw2fSx7Nyw4LDl9fTsKICAgIGNvdXQgPDwgIklucHV0ZWQgYXJyYXk6IiA8PGVuZGw7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IE07IGkrKykKICAgIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IE47IGorKykKICAgICAgICAgICAgY291dCA8PCBhW2ldW2pdIDw8ICIgIjsKICAgICAgICBjb3V0IDw8IGVuZGw7CiAgICB9CiAgICBpbnQgdmVjdG9yW01dOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNOyBpKyspCiAgICAgICAgdmVjdG9yW2ldID0gZ2V0bnVtYmVyb2Zwb3NpdGl2ZShOLCBhW2ldKTsKICAgIGludCBmbGFnID0gMTsKICAgIHdoaWxlIChmbGFnKQogICAgewogICAgICAgIGZsYWcgPSAwOwogICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgTTsgKytpKSB7CiAgICAgICAgICAgIGlmICh2ZWN0b3JbaV0gPiB2ZWN0b3JbaS0xXSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZmxhZyA9IDE7CiAgICAgICAgICAgICAgICBzd2FwKHZlY3RvcltpXSwgdmVjdG9yW2ktMV0pOwogICAgICAgICAgICAgICAgc3dhcChhW2ldLGFbaS0xXSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0IDw8IGVuZGwgPDwgIm5ldyBhcnJheToiIDw8ZW5kbDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTTsgaSsrKQogICAgewogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgTjsgaisrKQogICAgICAgICAgICBjb3V0IDw8IGFbaV1bal0gPDwgIiAiOwogICAgICAgIGNvdXQgPDwgZW5kbDsKICAgIH0KICAgIHJldHVybiAwOwp9