Есть ответ 👍

Дан указатель на целочисленный массив размера N. Переставить, в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами.

127
336
Посмотреть ответы 2

Ответы на вопрос:


Решение с использованием указателей:

#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

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS