Дан указатель на целочисленный массив размера N. Переставить, в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами.
Ответы на вопрос:
Решение с использованием указателей:
#include <iostream>
#include <ctime>
#define N 15
int main()
{
int A[N];
int i, tmp, cnt;
int *min = A,*max = A, *j;
setlocale(LC_ALL, "Russian");
// Автозаполнение
srand(time(0));
for (i = 0; i < N; i++)
A[i] = rand() % 201 - 100;
std::cout << "Исходный массив:" << std::endl;
for (i = 0; i < N; i++)
std::cout << *(A + i) << " ";
// Находим минимальный и максимальный элементы массива, запоминаем их адреса
for (i = 0; i < N; i++)
{
if (*(A + i) > *max) max = A + i;
if (*(A + i) < *min) min = A + i;
}
// Мин. и макс. элементы могут находиться в разных местах относительно друг друга
if (min < max)
{
cnt = ((max) - (min)) / 2;
for (j = min + 1, i = 0; i < cnt; j++, i++)
{
tmp = *j;
*j = *(min + 1 + (max - 1 - j));
*(min + 1 + (max - 1 - j)) = tmp;
}
}
else
{
cnt = ((min) - (max)) / 2;
for (j = max + 1, i = 0; i < cnt; j++, i++)
{
tmp = *j;
*j = *(max + 1 + (min - 1 - j));
*(max + 1 + (min - 1 - j)) = tmp;
}
}
std::cout << "\nРезультат:" << std::endl;
for (i = 0; i < N; i++)
std::cout << *(A + i) << " ";
return 0;
}
var
str: string;
s: char;
i: integer;
begin
readln(str);
s : = str[length(str)];
str : = str + '0';
for i : = length(str)-1 downto 1 do begin
str[i+1] : =
str[i];
end;
str[1] : = s;
delete(str, length(str), 1);
writeln(str);
end.
жду лучший ответ
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
AmmosD30.08.2022 13:32
-
Дашакотик01040523.04.2022 20:16
-
almazina118.03.2023 03:08
-
vkakochka20.08.2022 13:19
-
sna200317.02.2020 18:06
-
alinaklepcova09.02.2020 01:06
-
Даша674119.10.2020 08:23
-
Nawrik34digma25.05.2020 10:20
-
meshiydima17.07.2022 13:40
-
konybekrauan12.11.2022 21:20
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.