Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2010, 12:58   #1
saggy
Форумчанин
 
Регистрация: 08.10.2009
Сообщений: 112
Вопрос Экономия скорости на массивах

Что выгоднее использовать в палне скорости: массив строк или массив массива массива строк?
просто есть вот что:
а.б:в.г
выгоднее использовать
mass[0] = 'а.б:в.г' (но тогда в обработку добавятся функции по получению отдельных букв, что замедлит работу)
или
mass[0][0][0] = 'а'; mass[0][0][1] = 'б'; mass[0][1][0] = 'в'; mass[0][1][1] = 'г'; ?
или же выгоднее будет создать свой класс (или как там, в это ещё не вникал) типа mass[0].firstpart[0] = 'a'; mass[0].secondpart[0] = 'в';
?
зы: каждая буква - каждое слово, количество слов до двотеточия может меняться так же, как и после двоеточия; двоеточие может быть только одно.
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
saggy вне форума Ответить с цитированием
Старый 15.07.2010, 13:09   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я нихрена не понял, зачем вообще массив?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.07.2010, 13:54   #3
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

а что хочет афтор...
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 15.07.2010, 14:04   #4
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Цитата:
(но тогда в обработку добавятся функции по получению отдельных букв, что замедлит работу)
это как? пример можно?
Вот так вот возможно?:
Код:
var
 s2: array [0..10, 0..1] of string;
 i: integer;
begin
 i:=pos(':', 'hello:abc');
 s2[0, 0]:=copy('hello:abc', 1, i-1);//все что до символа :
 s2[0, 1]:=copy('hello:abc', i+1, length('hello:abc')-i);//все что после символа :
 showmessage(s2[0][0]);//showmessage('hello');
 showmessage(s2[0][0][2]);//showmessage('e');
end;

Последний раз редактировалось zotox; 15.07.2010 в 14:35.
zotox вне форума Ответить с цитированием
Старый 15.07.2010, 14:17   #5
zumm
БохЪ
Форумчанин
 
Аватар для zumm
 
Регистрация: 30.09.2009
Сообщений: 724
По умолчанию

Аффтар, не страдай х#рней. используй просто строку.

var
s: string;

s:='а.б:в.г';

а дальше copy

copy(s,0,1); - 1 символ
copy(s,1,2); - 2 символ
copy(s,2,3); - 3 символ

и тд
В планах порабощение вселенной...

Последний раз редактировалось JTG; 15.07.2010 в 19:52.
zumm вне форума Ответить с цитированием
Старый 15.07.2010, 14:20   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
saggy
Выгоднее использовать String

Я не понял речь идет о Си или о Делфи??
I'm learning to live...

Последний раз редактировалось Stilet; 15.07.2010 в 14:23.
Stilet вне форума Ответить с цитированием
Старый 15.07.2010, 18:13   #7
saggy
Форумчанин
 
Регистрация: 08.10.2009
Сообщений: 112
По умолчанию

Какой Си? Я же тему в тему создал в "Общие вопросы Delphi"...
Да, объяснить трудно...
может так проще:
что будет быстрей обрабатываться: запоминать массивы массивов или иметь один массив со строками, которые нужно выделять (copy()) дополнительно?
стоп!
что это такое:
Цитата:
var
s2: array [0..10, 0..1] of string;
???
это как понять? это массив массивов?!
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
saggy вне форума Ответить с цитированием
Старый 15.07.2010, 18:24   #8
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Цитата:
это как понять? это массив массивов?!
1) Плюем на палец.
2) Открываем справочник дельфи.
3) Листаем до раздела "ДВУХМЕРНЫЕ МАССИВЫ".
4) Если ничего не понятно - учим матан.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 15.07.2010, 18:30   #9
zotox
Форумчанин
 
Регистрация: 09.09.2008
Сообщений: 395
По умолчанию

Цитата:
это массив массивов?!
ну да, а что?

Цитата:
что будет быстрей обрабатываться
в вашем случае будет лучше это: один массив со строками, которые нужно выделять (copy())

(как я вам показал выше)
zotox вне форума Ответить с цитированием
Старый 15.07.2010, 19:29   #10
saggy
Форумчанин
 
Регистрация: 08.10.2009
Сообщений: 112
По умолчанию

Ага, понял.
Спасибо.
Не один учебник перечитал, а про двумерные массивы только слышал :D
procedure life; for years := 1 to 11 do gotoschool(normal); woman := TMan.add; childrens.add(TMans); problems.add(fuck); woman.destroy; END.
saggy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение скорости компиляторов Umen Обсуждение статей 13 05.10.2009 19:48
Радикальная экономия электроэнергии Levsha100 Свободное общение 4 01.05.2009 22:39
Speed drop падение скорости Ivn Софт 1 12.02.2009 07:17
Вопросы по оптимизации скорости Иллидан Общие вопросы Delphi 9 11.07.2008 23:46