Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
лилиэн
6 / 6 / 5
Регистрация: 22.11.2012
Сообщений: 95
#1

Непонятен текст задания

09.09.2013, 14:55. Просмотров 347. Ответов 7
Метки нет (Все метки)

Вот задание:
b) Создать абстрактный тип данных (структура) - вектор, который имеет указатель на float и число элементов. Определить функции: инициализации, удаления вектора, установки/ изменения размера, доступа к элементам вектора, вычисления суммы элементов вектора. Для примера, в функции main, организовать поэлементное умножение двух векторов.
Не понимаю на счет числа элементов
Так как написано в тексте задания я понимаю что в структуре будет неопределенное число элементов ,а сколько именно мы будем хранить в определенном поле,и все эти элементы будут типа float.Но я не могу же создать структуру с неопределенным числом элементов.
я себе это представляю так:
C++
1
2
3
4
5
struct vector
{
   float *fpNum;
   int iCount;
}
тогда что могут иметь в виду под "вычисления суммы элементов вектора" и" установки/ изменения размера"
прошу просто объяснить чего они хотеть от меня то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2013, 14:55
Ответы с готовыми решениями:

Используя текст программы оформить каждый пункт задания в виде функции
Выполнить задание 6-й лабораторной работы («Двумерные массивы»), оформив каждый...

Непонятен синтаксис
Доброго времени суток! Хотелось бы попросить вашего совета. код ...

Непонятен алгоритм
Здравствуйте. Не подскажете какой здесь сделать алгоритм? Собственно, сама...

Непонятен пример из Лафоре
В 7й Главе Никак не могу понять как реализован выход из цикла #include...

непонятен кусочек кода
Вот функция равномерного распределинея чисел. int x1=time(NULL)*16331; int...

7
Петррр
6159 / 3459 / 897
Регистрация: 28.10.2010
Сообщений: 5,926
09.09.2013, 14:58 #2
Сумма элементов - зная количество элементов вектора (число хранится в поле iCount), ты считаешь сумму.
Изменение размера - ты перевыделяешь память под указатель fpNum, и в iCount записываешь новое количество элементов, и переписываешь все значения в новую память.
0
лилиэн
6 / 6 / 5
Регистрация: 22.11.2012
Сообщений: 95
09.09.2013, 15:24  [ТС] #3
Цитата Сообщение от Петррр Посмотреть сообщение
Сумма элементов - зная количество элементов вектора (число хранится в поле iCount), ты считаешь сумму.
Изменение размера - ты перевыделяешь память под указатель fpNum, и в iCount записываешь новое количество элементов, и переписываешь все значения в новую память.
Ну ок,допустим у меня 5 элементов...значит мне надо 5 указателей на каждый элемент...но я не могу в уже существующую структуру добавить или убрать указатель не так ли? так что все еще не понятно
0
Петррр
6159 / 3459 / 897
Регистрация: 28.10.2010
Сообщений: 5,926
09.09.2013, 15:26 #4
Указатель, это некая цифра, указывающая на начало участка памяти, которую вы выделили, а выделять память можно под сколько угодно элементов.
1
лилиэн
6 / 6 / 5
Регистрация: 22.11.2012
Сообщений: 95
09.09.2013, 15:45  [ТС] #5
Цитата Сообщение от Петррр Посмотреть сообщение
Указатель, это некая цифра, указывающая на начало участка памяти, которую вы выделили, а выделять память можно под сколько угодно элементов.
ну тоесть есть у меня в iCount хранится 5 то pfNum указывает на 1й из 5 элементов, а сразу после него хранится следущий и так далее,значит чтобы добраться до следущего мне достаточно сделать pfNum++ столько раз сколько у меня чисел...гениально блин) спасибки
0
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
09.09.2013, 18:38 #6
Цитата Сообщение от лилиэн Посмотреть сообщение
pfNum++
не просто прибавить один, а прибавить размер ячейки массива
0
лилиэн
6 / 6 / 5
Регистрация: 22.11.2012
Сообщений: 95
10.09.2013, 09:20  [ТС] #7
Цитата Сообщение от Raali Посмотреть сообщение
не просто прибавить один, а прибавить размер ячейки массива
а разве он не знает сам размер своей ячейки..то есть если он float то он сдвигается на 1 float
0
ValeryS
Модератор
7215 / 5478 / 682
Регистрация: 14.02.2011
Сообщений: 18,530
10.09.2013, 09:40 #8
лилиэн,
может имелась ввиду структура такого типа
C++
1
2
3
4
5
struct MyVect
{
int Coint;
float data[0];
}
напрямую с ней работать нельзя (она и получается абстрактная)
вот как с ней можно работать
например выделяем память для структуры в которой пять float
C++
1
2
3
4
MyVect* mv= (MyVect*) new unsigned char[sizeof(MyVect)+sizeof(float)*5];
mv->Coint=5;
mv->data[0]=3.0;
mv->data[4]=4.0;
0
10.09.2013, 09:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2013, 09:40

Непонятен состав класса
Не могли бы ли вы объяснить выделенные 10 строк??? #define...

Мне непонятен полный процесс создания программ на с++
Здравствуйте! Я начал изучать с++, возник небольшой вопрос. Я пользуюсь...

Непонятен код, присваивание значению int символа строки
//получили строку str { std::vector<bool> char_set(128); for (int i =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru