#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#define SWAP(a, b) { a ^= b; b ^= a; a ^= b; } while ( 0 )
int main(void)
{
size_t array_ptr;
char n; // true-false
int16_t array[] =
{
50, -62, 10, 617, -174, 22, 274, 22, 7, 28, -2888, 16, 6, // сюда можно копипастить хрень
};
size_t array_end = sizeof(array)/sizeof(array[0]);
do
{
n=0; // FALSE
array_ptr = 0; // SET PTR TO THE BEGIN
while (array_ptr != (array_end-1) ) // COMPARE POINTERS
{
if ( array[array_ptr] > array[array_ptr+1] ) // COMPARE VALUES
{
SWAP( array[array_ptr], array[array_ptr+1] ); // SWAP VALUES
n=1; // TRUE
}
array_ptr++;
}
}
while (n);
array_ptr=0;
while (array_ptr != array_end)
{
printf( "%" PRId16
", ", array
[array_ptr
] ); array_ptr++;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPGludHR5cGVzLmg+IAoKI2RlZmluZSBTV0FQKGEsIGIpICB7IGEgXj0gYjsgYiBePSBhOyBhIF49IGI7IH0gd2hpbGUgKCAwICkKCmludCBtYWluKHZvaWQpCnsKICAgIHNpemVfdCBhcnJheV9wdHI7CiAgICAKICAgIGNoYXIgbjsgICAgICAgICAgICAgICAgICAgLy8gdHJ1ZS1mYWxzZQogICAgaW50MTZfdCBhcnJheVtdID0gCiAgICB7CiAgICA1MCwgLTYyLCAxMCwgNjE3LCAtMTc0LCAyMiwgMjc0LCAyMiwgNywgMjgsIC0yODg4LCAxNiwgNiwgLy8g0YHRjtC00LAg0LzQvtC20L3QviDQutC+0L/QuNC/0LDRgdGC0LjRgtGMINGF0YDQtdC90YwKICAgIH07CiAgICBzaXplX3QgYXJyYXlfZW5kID0gc2l6ZW9mKGFycmF5KS9zaXplb2YoYXJyYXlbMF0pOwogICAgZG8KICAgIHsKICAgICAgICBuPTA7ICAgICAgICAgICAgICAgICAgLy8gRkFMU0UKICAgICAgICBhcnJheV9wdHIgPSAwOyAgICAgICAgLy8gU0VUIFBUUiBUTyBUSEUgQkVHSU4KCiAgICAgICAgd2hpbGUgKGFycmF5X3B0ciAhPSAoYXJyYXlfZW5kLTEpICkgICAgICAgICAgLy8gQ09NUEFSRSBQT0lOVEVSUwogICAgICAgIHsKICAgICAgICAgICAgaWYgKCBhcnJheVthcnJheV9wdHJdID4gYXJyYXlbYXJyYXlfcHRyKzFdICkgICAgICAvLyBDT01QQVJFIFZBTFVFUwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTV0FQKCBhcnJheVthcnJheV9wdHJdLCBhcnJheVthcnJheV9wdHIrMV0gKTsgLy8gU1dBUCBWQUxVRVMKICAgICAgICAgICAgICAgIG49MTsgICAgICAgICAgLy8gVFJVRQogICAgICAgICAgICB9CiAgICAgICAgICAgIGFycmF5X3B0cisrOwogICAgICAgIH0KCiAgICB9CiAgICB3aGlsZSAobik7CiAgICAKICAgIGFycmF5X3B0cj0wOwogICAgd2hpbGUgKGFycmF5X3B0ciAhPSBhcnJheV9lbmQpCiAgICB7CiAgICAgICAgcHJpbnRmKCAiJSIgUFJJZDE2ICIsICIsIGFycmF5W2FycmF5X3B0cl0gKTsKICAgICAgICBhcnJheV9wdHIrKzsKICAgIH0KCiAgICBwcmludGYoIlxuIik7CiAgICByZXR1cm4gMDsKfQ==
-2888, -174, -62, 6, 7, 10, 16, 22, 22, 28, 50, 274, 617,