Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Без описания
konctantin777
Отправлено: 17 Февраля, 2023 - 09:35:23
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1157
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Здравствуйте.
Есть массив координат на 10. Сортирую от 3го или, например, 6 шага- сортирует "в обе стороны". Как сделать сортировку в одну сторону ? Т.е. чтобы не учитывалась часть массива в зависимости от того к какой координате ближе ?
CODE:
string s;
int x[100]; int y[100];


x[0]=10; y[0]=10;
x[1]=20; y[1]=20;
x[2]=30; y[2]=30;
x[3]=40; y[3]=40;
x[4]=50; y[4]=50;
x[5]=40; y[5]=60;
x[6]=30; y[6]=70;
x[7]=20; y[7]=80;
x[8]=10; y[8]=90;
x[9]=10; y[9]=100;

sort(55, 44, #x[0], #y[0], 20);

int h=0;
a:
if (h<20)
{
textout(h, 0, h*20, format(x[h])+"__"+format(y[h]), 0);
h++;
goto a;
}
messagebox ("стоп");//
 
 Top
Zireael
Отправлено: 17 Февраля, 2023 - 10:07:03
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4453
Дата рег-ции: Нояб. 2017  
Репутация: 585




5 раз прочитал, так и не понял что нужно сделать.
 
 Top
konctantin777
Отправлено: 17 Февраля, 2023 - 10:13:08
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1157
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Есть массив координат от 0 до 10. Если мы сортируем с координат 55-44, то сортируется весь массив , а как сделать, чтобы только в одну сторону, чтобы остался только
x[4]=50; y[4]=50;
x[5]=40; y[5]=60;
x[6]=30; y[6]=70;
x[7]=20; y[7]=80;
x[8]=10; y[8]=90;
x[9]=10; y[9]=100;

или, если координаты ближе к 5му шагу, то
x[6]=30; y[6]=70;
x[7]=20; y[7]=80;
x[8]=10; y[8]=90;
x[9]=10; y[9]=100;

Или в сторону 0го.

Да, с формулировками у меня не очень...
 
 Top
Zireael
Отправлено: 17 Февраля, 2023 - 10:34:15
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4453
Дата рег-ции: Нояб. 2017  
Репутация: 585




Понятнее не стало. Сначала надо было отсортировать, теперь оставить часть массива.
Для чего нужно это?
 
 Top
konctantin777
Отправлено: 17 Февраля, 2023 - 10:42:02
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1157
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Нужно отсортировать не весь массив, а часть, в зависимости от "sort(55, 44, #x[0], #y[0], 20);"
координат в 1м и 2м параметре.
Нужно, чтобы не учитывались данные до "x[4]=50; y[4]=50;" либо после них.
(Добавление)
Сформулировал.
Нужно отсортировать весь массив от координат 55, 44 до координат x[0]=10; y[0]=10; и отдельно от координат 55, 44 до координат x[0]=10; y[0]=100;
 
 Top
Zireael
Отправлено: 17 Февраля, 2023 - 11:51:18
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4453
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
Нужно отсортировать весь массив от координат 55, 44 до координат x[0]=10; y[0]=10; и отдельно от координат 55, 44 до координат x[0]=10; y[0]=100;

CODE:
int i;
int x[100], y[100];

x[0]=10; y[0]=10;
x[1]=20; y[1]=20;
x[2]=30; y[2]=30;
x[3]=40; y[3]=40;
x[4]=50; y[4]=50;
x[5]=40; y[5]=60;
x[6]=30; y[6]=70;
x[7]=20; y[7]=80;
x[8]=10; y[8]=90;
x[9]=10; y[9]=100;


int PosX = 55;
int PosY = 44;

int count = sizearray(x);
for(i=0; i<count; i++)
{
if(x[i]<0)
{
count = i;
break;
}
}

messagebox ("Всего координат: "+format(count));

int dist=99999;
int index=0;

for(i=0; i<count; i++)
{
if(distance(x[i], y[i], PosX, PosY) < dist)
{
dist = distance(x[i], y[i], PosX, PosY);
index = i;
}
}

messagebox ("Ближайшая координата: "+format(index));

sort(PosX, PosY, #x[0], #y[0], index);

int h=0;
while(h<index)
{
textout(h, 0, h*20, format(x[h])+"__"+format(y[h]), 0);
h++;
}

sort(PosX, PosY, #x[index], #y[index], count-index);
while(h<count)
{
textout(h, 0,50+h*20, format(x[h])+"__"+format(y[h]), 0);
h++;
}
messagebox ("стоп");


function distance(int x1, int y1, int x2, int y2)
{
return sqrt(pow(x1-x2, 2)+pow(y1-y2, 2));
}
 
 Top
konctantin777
Отправлено: 17 Февраля, 2023 - 11:56:08
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1157
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Спасибо !!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 0)
« Вопросы и решение проблем »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by