|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.01.2008, 22:14 | #1 |
Новичок
Джуниор
Регистрация: 25.01.2008
Сообщений: 1
|
[C] Задача на указатели . Нужна помощь
Задача должна быть написана именно на С, а не на С++.Задача состоит в следующем:
надо написать функцию void* scramble (void* arr,int ElemSize,int n,int* indArr) arr-массив неизвестного типа ElemSize-размер каждого члена в arr n-кол-во членов в arr indArr-массив, содержащий порядок индексов в новом массиве Функция должна возвращать новый массив, где порядок членов опряделяется в соотвестствии с массивом indArr следующим образом :член i в новом массиве это член, индекс которого indArr[i] в массиве arr код void* scramble (void* arr,int ElemSize,int n,int* indArr) { void* newarr;int i; newarr=malloc(n*ElemSize); for (i=0;i<n;i++) newarr[i]=arr[indArr[i]]; return newarr; } ошибки C:\Program Files\Microsoft Visual Studio\MyProjects\hwl\ex1.cpp(10) : error C2036: 'void *' : unknown size C:\Program Files\Microsoft Visual Studio\MyProjects\hwl\ex1.cpp(10) : error C2036: 'void *' : unknown size C:\Program Files\Microsoft Visual Studio\MyProjects\hwl\ex1.cpp(10) : error C2120: 'void' illegal with all types Заранее спасибо за помощь |
26.01.2008, 08:47 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Компилятор не знает размер объекта (void) и не может проиндексировать вектор из таких элементов. Переопределите newarr и arr как void**.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нужна помощь | Caragius | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 08.04.2010 17:29 |
Задача Pascal на массив (нужна помощь) | STIG_E70 | Помощь студентам | 4 | 18.06.2008 20:19 |
Задача с матрицей(нужна помощь) | VDK23RUS | Помощь студентам | 5 | 14.06.2007 12:55 |