| Код | #include <iostream> #include <cstring> #include <vector>
void sortRow(int* row, const int count) { int i; std::vector<int> positive; std::vector<int> zero; std::vector<int> negative;
for(i = 0; i < count; ++i) { if (row[i] > 0) positive.push_back(row[i]); else if ((row[i] == 0)) zero.push_back(row[i]); else if (row[i] < 0) negative.push_back(row[i]); } positive.insert(positive.end(), zero.begin(), zero.end()); positive.insert(positive.end(), negative.begin(), negative.end()); memcpy(row, positive.data(), sizeof(int) * count); }
int main(int argc, char *argv[]) { int j,l; int i = 4; int& k = i;
int A[i][k] = {{-5,56,34,-76}, {7888,-56,0,33}, {3,4,5,6}, {9,87,6,5}}; for (j=0; j < i; ++j) sortRow(A[j], k);
std::vector<int> myVector; for (j=0, l=k-1; j < i; ++j, --l) myVector.push_back(A[j][l]);
for (j=0; j < k; j++) std::cout << myVector[j] << " "; std::cout << std::endl; } |
|