Как отсортировать массив после максимального элемента подскажите пожалуйста. С++.

0 голосов
93 просмотров

Как отсортировать массив после максимального элемента подскажите пожалуйста. С++.


Информатика (56 баллов) | 93 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

#include
#include
#include
#include

template
void swap(T &a, T&b)
{
T t=a;
a=b;
b=t;
}

void printArray(int *array, int length)
{
for (int i=0;i std::cout<<std::setw(4)<<array[i];<br> std::cout<<std::endl;<br>}

int main()
{
srand(time(0));
int length;
std::cin>>length;
int *array=new int[length];
for (int i=0;i array[i]=rand()%100+1;
printArray(array,length);
int posMax=0;
for (int i=1;i if (array[posMax] posMax=i;
bool flag=false;
while (flag==false)
{
flag=true;
for (int i=posMax+2;i if (array[i] {
flag=false;
swap(array[i],array[i-1]);
}
}
printArray(array,length);
return 0;
}

(654k баллов)
0

а откуда у вас такое ощущение, я не знаю

0

Оттуда, что вы не знаете C++ :)Вы понимаете что значит что оно инкремирует значение через временную переменную?)Понимаете ли вы, что в момент получения значения i, оно не увеличивается? То есть на момент до вхождения в функциональный блок for значение i все ещё не увеличилось на 1? Нет? Так идите учите практику (:

0

Почему человеку пишущему ответ по C++ вопросу, нужно объяснять как работает C++? Почему человек этого не знает изначально?)))

0

то, что вы только что сказала абсолютно очевидно (про цикл for), и, разумеется, я знаю это

0

сказали*

0

Так почему вы так не делаете, раз это очевидно? По какой причине?

0

что я не делаю?

0

++i вместо i++

0

а и не надо

0

Надо, это входит в привычку, если вы пишите на C++,то не пишите с legacy к тому же не нужно плодить лишнее место для ошибок.