Упорядочить по убыванию элементы целочисленного массива, расположенные после минимального...

0 голосов
113 просмотров

Упорядочить по убыванию элементы целочисленного массива, расположенные после минимального числа-палиндрома. решить задачу в с++


Информатика (12 баллов) | 113 просмотров
0

если не трудно, то расписать через //

Дан 1 ответ
0 голосов
#include
#include

/*
*
* Пример входных данных:

8
20 10 121 10 40 50 20 30

*
*/

int size; // Размер массива
int minimal_index = -1;

bool polynomial(int number){
std::string poly = std::to_string(number); // Преобразовываем int в string
for(int i = 0; i < poly.length() / 2; i++){
if (poly[i] != poly[poly.length() - i - 1]){
return false;
}
}
return true;
}

int main() {
std::cin >> size; // Вводим размер массива
int array[size]; // Создаем массив
for(int i = 0; i < size; i++){
std::cin >> array[i]; // Задаем i-тый элемент массива
if (polynomial(array[i])){ // Если число полином
if(minimal_index == -1){
minimal_index = i;
} else if (array[i] < array[minimal_index]){ // Если новый полином меньше старого
minimal_index = i; // То запоминаем новый индек
}
}
}

// Ниже используем пузырьковую сортировку
for(int i = minimal_index; i < size; i++){
for(int j = i; j < size; j++){
if(array[i] < array[j]){
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
}

// Вывод массива
for(int i = 0; i < size; i++){
std::cout << array[i] << " "<span>;
}

return 0;
}
(283 баллов)