![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| g-r-i-n |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 12.12.2003 Где: Киев Репутация: нет Всего: 3 |
Коллеги, выручайте!
Моя программа реализована на Java, но узкое место нужно сделать в JNI. Я в нем (в С++) давно уже не трудился и не скоро буду, поэтому, если кому не жалко, черкните пару строк (желательно полностью рабочий класс): из массива, скажем М, со строками одинаковой длины берется очередное значение и ищется в векторе V (изначально пустом). Если оно там есть, в другом векторе C элемент с этим же индеском инкрементируется. Если нету - новая строка добавляется в V а в С по тому же индексу ставится единица. Например исходные данные: М: "018723" ; "738495"; "265833"; "738495"; "265833"; "738495"; Результат:
Порядок элементов значения не имеет. Заранее благодарен.. P.s. Для меня вся трудность в итераторах и слежении за памятью (кстати массивы - в десятки мегабайт), я в С++ за себя не ручаюсь, потому и отвлекаю вас от дел ратных. Кроме того, из-за скромных размеров я использую компилятор Watcom, что, оказывается, тоже - специфика. Если кому чего на Яве или J2ME надо будет - с удовольствием поделюсь Это сообщение отредактировал(а) g-r-i-n - 9.3.2004, 17:23 |
|||
|
||||
| Borisff2003 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 26.2.2004 Где: г. Уфа Репутация: 1 Всего: 1 |
Как предполагается скрещиват С++ и Java?
Если напишешь какие параметры ту хочешь видеть в Функции , то возможно помогу. Например так пойдет Просто не совсем понятно что ты подразумеваешь по вектором и массивом Вот примеры char* M[]; string M[]; vector<char*> V; vector<string> V; int c[]; vector<int> C; И вобще насколько я понял тебе надо использовать STL. --------------------
Лень, двигатель прогресса |
|||
|
||||
| g-r-i-n |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 12.12.2003 Где: Киев Репутация: нет Всего: 3 |
Привет, Borisff2003
У меня уже Ява и С++ работают (через dll), просто вместо результата стоит заглушка. Смысл такой - приложение получает (либо генерирует, это не важно) массив данных (скорее всего сhar*, string это наверное класс, т.е. он "дороже") размера size, а обработанные данные он в Яву уже не пересылает, они все равно должны храниться в файле, вот оно их и сохраняет там. Ява потом, когда нужно сама эти данные достает. Все уже работает, нужна только функция быстрого поиска в большом наборе данных. Под вектором я понимаю класс, который есть в любом языке программирования, это не что-то особенное, но если это будет любая другая конструкция - ничего страшного, лишь бы потом можно было данные переписать в файл. Просто я так понимаю в С++ удобнее всего использовать упорядоченный вектор или хэш какой-нибудь. Формат записи в файл - нетривиальный, так что я его сам реализую. В общем главное - это что массив char* [], а результат в любом виде, как удобней и эффективней, главное пару слов по поводу того, как достать потом это правильно и память освободить. И вообще, есть ли в С++ какой нибудь универсальный сборщик мусора, который подошел бы во всех случаях? Понимаю, что С++ это не Ява, но почему бы и нет?.. |
|||
|
||||
| Borisff2003 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 198 Регистрация: 26.2.2004 Где: г. Уфа Репутация: 1 Всего: 1 |
--------------------
Лень, двигатель прогресса |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |