Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- using namespace std;
- int main() {
- //Задача 1. Преобразовать массив таким образом, чтобы в первой его
- //половине располагались элемент кратные 2, а во второй половине остальные.
- cout << "Привет, это программа для сортировки\n";
- srand(time(0));
- cout << "Сколько элементов будет у массива: ";
- int num;
- cin >> num;
- while (num <= 0)
- {
- cout << "Введите нормальное количество элементов: ";
- cin >> num;
- }
- int *array = new int[num];
- for (int i = 0; i < num; i++) {
- array[i] = rand() % 21 - 10;
- }
- for (int i = 0; i < num; i++) {
- for (int j = 1; j < num - i; j++) {
- if (array[j - 1] % 2 != 0 ) {
- swap(array[j-1],array[j]);
- }
- }
- }
- for (int i = 0; i < num; i++) {
- cout << array[i] << "\t";
- }
- cout << "\n\n";
- // Задача 2. Дана целочисленная квадратная матрица. Упорядочить по
- // возрастанию элементы в тех столбцах, которые не содержат отрицательных элементов.
- int j;
- while (true)
- {
- cout << "Введите нормальное количество элементов в матрице: ";
- cin >> j;
- if (j >= 1)
- {
- break;
- }
- }
- //init
- int** array2 = new int*[j];
- for (int l = 0; l < j; l++) {
- array2[l] = new int[j];
- }
- //fill
- for (int i = 0; i < j; i++)
- {
- for (int k = 0; k < j; k++)
- {
- array2[i][k] = rand() % 21 - 2;
- }
- }
- //show
- for (int n = 0; n < j; n++) {
- for (int i = 0; i < j; i++) {
- cout << array2[n][i] << " ";
- }
- cout << endl;
- }
- cout << endl;
- //big sorting
- for (int m = 0; m < j; m++) {
- for (int i = 0; i < j; i++) {
- if (array2[i][m] < 0)
- {
- break;
- } else if (i == j- 1) {
- //sorting
- for (int k = 0; k < j; k++) {
- for (int l = 1; l < j - k; l++) {
- if (array2[l][m] < array2[l - 1][m]) {
- swap(array2[l][m], array2[l - 1][m]);
- }
- }
- }
- //showing sorted
- cout << m+1 << ": ";
- for (int k = 0; k < j ; k++) {
- cout << array2[k][m] << "\t";
- }
- cout << endl;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment