Даны 10 чисел, необходимо распределить их по убыванию. Например:
2
5
1
6
8
7
8
4
3
0
Способов много, можно восполльзоваться следующим
bool sort=false;
int i,j;
int tmp;
int array arr[]={2;5;1;6;8;7;8;4;3;0}
K=ArraySize(arr);
while (sort=false) {
sort=true;
for (i=1i<K;i++)
if(arr[i-1]<arr[i]) {
sort=false;
tmp=arr[i-1];
arr[i-1]=arr[i];
arr[i]=tmp;
}
}
}
Вот примерно так. Есть другие методы.
Да, наверное то что надо.
Но как мне получить нужное число из отсартированного списка, например первое, второе, третье, например:
из 8,8,7,6,5,4,3,2,1,0, мне нужно получить третье число, т.е. x=7;
Да, наверное то что надо.
Но как мне получить нужное число из отсартированного списка, например первое, второе, третье, например:
из 8,8,7,6,5,4,3,2,1,0, мне нужно получить третье число, т.е. x=7;
Так массив тот же самый. надо третий, а это arr[2];
Для проверки можно добавить следующее
for (i=0;i<K;i++)
Print("arr[",i,"]=",arr[i]);
Могу ли я получить нужное число так:
num_array[3]={2,5,1,6,8,7,8,4,3,0}; int x = ArraySort(num_array,WHOLE_ARRAY,0,MODE_DESCEND);Будет ли x в данном случае равен 7?
Могу ли я получить нужное число так:
num_array[3]={2,5,1,6,8,7,8,4,3,0}; int x = ArraySort(num_array,WHOLE_ARRAY,0,MODE_DESCEND);Будет ли x в данном случае равен 7?
Да. Но только в убери размер массива. Ты его задаешь по другому.
num_array[]={2,5,1,6,8,7,8,4,3,0};
Хоть убей, не догоняю. Так чтоли:
int num_array[]={2,5,1,6,8,7,8,4,3,0}; ArraySort(num_array,WHOLE_ARRAY,0,MODE_DESCEND); int x = num_array[3];?
Всем огромное спасибо, разобрался.
Для получения третьего по величине числа нужно писать: int x = num_array[2];
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Даны 10 чисел, необходимо распределить их по убыванию. Например:
2
5
1
6
8
7
8
4
3
0
Нужно определить какое число больше. Результат должен быть таким:
8
8
7
6
5
4
3
2
1
0
Каким образом можно реализовать это в MQL4?