profile
Размещено 5 лет назад по предмету Информатика от bakbergenkyzya

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

  1. Ответ на вопрос
    Ответ на вопрос дан Helper211

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

    #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;

    }

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.