как отсортировать массив после максимального элемента подскажите пожалуйста.С++.
Как отсортировать массив после наибольшего элемента подскажите пожалуйста.
С++.
1 ответ
Казандинов
Тимур
include lt;iostreamgt;
include lt;iomanipgt;
include lt;cstdlibgt;
include lt;ctimegt;
template lt;typename Tgt;
void swap(T amp;a, Tamp;b)
T t=a;
a=b;
b=t;
void printArray(int *array, int length)
for (int i=0;ilt;length;i++)
std::coutlt;lt;std::setw(4)lt;lt;array[i];
std::coutlt;lt;std::endl;
int main()
srand(time(0));
int length;
std::cingt;gt;length;
int *array=new int[length];
for (int i=0;ilt;length;i++)
array[i]=rand()%100+1;
printArray(array,length);
int posMax=0;
for (int i=1;ilt;length;i++)
if (array[posMax]lt;array[i])
posMax=i;
bool flag=false;
while (flag==false)
flag=true;
for (int i=posMax+2;ilt;length;i++)
if (array[i]lt;array[i-1])
flag=false;
swap(array[i],array[i-1]);
printArray(array,length);
return 0;
include lt;iomanipgt;
include lt;cstdlibgt;
include lt;ctimegt;
template lt;typename Tgt;
void swap(T amp;a, Tamp;b)
T t=a;
a=b;
b=t;
void printArray(int *array, int length)
for (int i=0;ilt;length;i++)
std::coutlt;lt;std::setw(4)lt;lt;array[i];
std::coutlt;lt;std::endl;
int main()
srand(time(0));
int length;
std::cingt;gt;length;
int *array=new int[length];
for (int i=0;ilt;length;i++)
array[i]=rand()%100+1;
printArray(array,length);
int posMax=0;
for (int i=1;ilt;length;i++)
if (array[posMax]lt;array[i])
posMax=i;
bool flag=false;
while (flag==false)
flag=true;
for (int i=posMax+2;ilt;length;i++)
if (array[i]lt;array[i-1])
flag=false;
swap(array[i],array[i-1]);
printArray(array,length);
return 0;
Вован Калмыченко
а откуда у вас такое чувство, я не знаю
Кирилл Квасюк
Оттуда, что вы не знаете C++ :)Вы разумеете что означает что оно инкремирует значение через временную переменную?)Разумеете ли вы, что в момент получения значения i, оно не возрастает? То есть на момент до вхождения в многофункциональный блок for значение i все ещё не увеличилось на 1? Нет? Так идите учите практику (:
Людмила Семейнова
Почему человеку пишущему ответ по C++ вопросу, нужно объяснять как работает C++? Почему человек этого не знает вначале?)))
Stepan Smorjakov
то, что вы только что произнесла безусловно явно (про цикл for), и, очевидно, я знаю это
Ledikov Vladislav
сказали*
Чемов
Генка
Так почему вы так не делаете, раз это очевидно? По какой причине?
Пятшев
Антон
что я не делаю?
Деняков
Жека
++i вместо i++
Авдокунина
Анна
а и не надобно
Ekaterina
Надобно, это заходит в повадку, если вы пишите на C++,то не пишите с legacy к тому же не необходимо плодить лишнее место для ошибок.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов