Цитата(SasaVitebsk @ Mar 23 2006, 23:39)

В массиве только указатели на "команды". Команда представляет собой структуру. Разные команды - разные структуры. Одна занимает 14 байт, - другая - 150 байт. Друг в друга ни как не скопируешь.
Сходу посоветовал бы включить в тело команды поле "размер команды" 1 байт. Чтобы избавиться от вычисления размера.
Цитата
Насчёт мемcopy посмотрю. Не видел такой функции.
ну начните с такого прототипа:
int CopyArray(char *dest, char *source, int count);копирует count байт из массива source в массив dest, возвращается число реально скопированных байт. Реализацию думаю Вы легко сможете написать..
а потом перейдите к такому (чтобы копировать что угодно и куда угодно):
int CopyMemory(void *dest, void *source, int count);копирует count байт c адреса source по адресу dest, возвращается число реально скопированных байт. Имея реализацию первой функции, написать реализацию второй - по времени займет не больше одной минуты.
Цитата
А всётаки что на счёт программы. Там 4 строчки. Описания переменных я дал. Смысл того что хочу сделать вроде объяснил. Где ошибка?
ошибка всплывет, если упростить выражение вида for(adrnpict=(AdrActiveKom[i]);adrnpict<(AdrActiveKom[NumbActiveKom+1]-j);adrnpict++).... до такой записи:
Код
for(i=0; i<x; i++)
{
dest[i] = source[i];
}
типы переменных (x, dest и source) и их значения задать Вам будет проще, чем мне гадать..
Цитата
Алгоритм мой оценивать сложно так как вы видите очень малую часть общей картины.
Да, оценить, а точнее - понять Ваш алгоритм по этой малой части общей картины, действительно нельзя.. Но вот, заметить что алгоритм через чур сложный - можно.
Сообщение отредактировал defunct - Mar 24 2006, 01:51