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

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

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

> Без описания
Eddi
Отправлено: 01 Декабря, 2016 - 18:28:11
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 20
Дата рег-ции: Окт. 2016  
Репутация: 0




CODE:
string strka="123 4567 890";
int mass[3];
SplitString(strka, #mass[0], " ");
messagebox(format(mass[1]));

function SplitString(string str, string #outputmass, char delim){
int n=1;
char a[1024];
strcpy(#a[0], str);
int sp=1;
int size_a=size(#a[0]);
loop(size_a){
if (a[n]!=delim){outputmass[sp]=outputmass[sp]+a[n];}
if (a[n]==delim){sp++;outputmass[sp]=outputmass[sp]+a[n];}
n++;
}
}


функция должна разделить цифры разделенные неким знаком-разделителем, и распихать их по некоторому массиву...
 
 Top
Kibor
Отправлено: 01 Декабря, 2016 - 18:43:50
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Eddi пишет:
string strka="123 4567 890";
int mass[3];//это string
SplitString(strka, #mass[0], " ");//Это char ' '
messagebox(format(mass[1]));

function SplitString(string str, string #outputmass, char delim){
int n=1;//Тут 0
char a[1024];
strcpy(#a[0], str);
int sp=1;//Тут 0
int size_a=size(#a[0]);
loop(size_a){
if (a[n]!=delim){outputmass[sp]=outputmass[sp]+a[n];}
if (a[n]==delim){sp++;outputmass[sp]=outputmass[sp]+a[n];}
n++;
}
}


CODE:
string strka="123 4567 890";
string mass[3];
SplitString(strka, #mass[0], ' ');
messagebox(mass[0]);


function SplitString(string str, string #outputmass, char delim){
int n=0;
char a[1024];
strcpy(#a[0], str);
int sp=0;
int size_a=size(#a[0]);
outputmass[sp]="";
loop(size_a){
if (a[n]!=delim){outputmass[sp]=outputmass[sp]+a[n];}
if (a[n]==delim){sp++;outputmass[sp]="";}
n++;
}
}
 
 Top
Dart_Zaiac
Отправлено: 01 Декабря, 2016 - 19:03:16
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 59
Дата рег-ции: Март 2014  
Репутация: 0




в первую очередь char в функцию загоняется через ' '(одинарная кавычка), а не " "(двойные)
во-вторую загонять int массив с определениев в функции как стринг не есть правильно

в массивах счет начинается с 0 эл-та. Но размер строки правильно нашел по ссылке на массив size(#a[0]);

а вообще вот рабочий код:
CODE:
string strka="545 6786 929";
string mass[3];
SplitString(strka, #mass[0], ' ');
messagebox(mass[2]);

function SplitString(string str, string #outputmass, char delim){
int n=0;
char a[1024];
strcpy(#a[0], str);
int sp=0;
int size_a=size(#a[0]);
outputmass[sp]="";
loop(size_a){
if (a[n]!=delim){outputmass[sp]=outputmass[sp]+a[n];}
if (a[n]==delim){sp++;outputmass[sp]="";}
n++;
}
}
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by