Программа №1⁚ Метод транспозиции
cpp
#include
#include
using namespace std;
int main {
vector
int maxDiff 0;
int maxDiffIdx -1;
// Находим максимальный элемент с условием разности соседних элементов > 72
for (int i 1; i < arr.size ‒ 1; i ) {
int diff arr[i] ‒ arr[i ‒ 1];
if (diff > 72 nn diff > maxDiff) {
maxDiff diff;
maxDiffIdx i;
}
}
// Если такой элемент найден, выполняем транспозицию
if (maxDiffIdx ! -1) {
for (int i maxDiffIdx; i > 0; i—) {
swap(arr[i], arr[i ⏤ 1]);
}
}
if (maxDiffIdx ! -1) {
cout << "Максимальный элемент с разностью > 72⁚ ″ << arr[0] << endl;
cout << ″Измененный массив⁚ ″;
for (int num ⁚ arr) {
cout << num << ″ ″;
}
} else {
cout << "Нет элементов с разностью > 72″;
}
return 0;
}
Программа №2⁚ Метод переупорядочивания списка
cpp
#include
#include
using namespace std;
int main {
vector
int maxDiff 0;
int maxDiffIdx -1;
// Находим максимальный элемент с условием разности соседних элементов > 72
for (int i 1; i < arr.size ‒ 1; i ) {
int diff arr[i] ⏤ arr[i ‒ 1];
if (diff > 72 nn diff > maxDiff) {
maxDiff diff;
maxDiffIdx i;
}
}
// Если такой элемент найден, выполняем переупорядочивание списка
if (maxDiffIdx ! -1) {
int temp arr[maxDiffIdx];
for (int i maxDiffIdx; i > 0; i—) {
arr[i] arr[i ‒ 1];
}
arr[0] temp;
}
if (maxDiffIdx ! -1) {
cout << "Максимальный элемент с разностью > 72⁚ ″ << arr[0] << endl;
cout << ″Измененный массив⁚ ″;
for (int num ⁚ arr) {
cout << num << ″ ″;
}
} else {
cout << "Нет элементов с разностью > 72″;
}
return 0;
}
Представленные программы на C решают задачу поиска элемента в массиве, разность соседних элементов которого не меньше 72. Если таких элементов несколько٫ выбирается максимальный. Если таких элементов нет٫ выводится соответствующее сообщение.Программа №1 использует метод транспозиции٫ который перемещает найденный элемент в начало массива путем последовательного обмена с ближайшими соседями.
Программа №2 использует метод переупорядочивания списка٫ который сохраняет найденный элемент и сдвигает все остальные элементы вправо на одну позицию.
Обе программы являются довольно простыми в реализации и не требуют использования функций swap и rotate. Они предоставляют результат в виде измененного массива, где искомый элемент стоит первым, если он был найден. В противном случае, выводится сообщение о том, что таких элементов нет.