Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
лилиэн
6 / 6 / 0
Регистрация: 22.11.2012
Сообщений: 95
#1

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

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

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

Используя текст программы оформить каждый пункт задания в виде функции C++
Непонятен синтаксис C++
C++ непонятен кусочек кода
C++ Дана строка содержащая текст. Выяснить, входит ли данное слово в указанный текст, и если да, то сколько раз
Непонятен пример из Лафоре C++
C++ Дописать в конец a.jpeg некий секретный текст. Вывести этот текст на экран
C++ Немного непонятен алгоритм (в списке класса, состоящем из n строк и m столбцов, отмечаются выполненные лабораторные работы)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
5934 / 3371 / 334
Регистрация: 28.10.2010
Сообщений: 5,926
09.09.2013, 14:58     Непонятен текст задания #2
Сумма элементов - зная количество элементов вектора (число хранится в поле iCount), ты считаешь сумму.
Изменение размера - ты перевыделяешь память под указатель fpNum, и в iCount записываешь новое количество элементов, и переписываешь все значения в новую память.
лилиэн
6 / 6 / 0
Регистрация: 22.11.2012
Сообщений: 95
09.09.2013, 15:24  [ТС]     Непонятен текст задания #3
Цитата Сообщение от Петррр Посмотреть сообщение
Сумма элементов - зная количество элементов вектора (число хранится в поле iCount), ты считаешь сумму.
Изменение размера - ты перевыделяешь память под указатель fpNum, и в iCount записываешь новое количество элементов, и переписываешь все значения в новую память.
Ну ок,допустим у меня 5 элементов...значит мне надо 5 указателей на каждый элемент...но я не могу в уже существующую структуру добавить или убрать указатель не так ли? так что все еще не понятно
Петррр
5934 / 3371 / 334
Регистрация: 28.10.2010
Сообщений: 5,926
09.09.2013, 15:26     Непонятен текст задания #4
Указатель, это некая цифра, указывающая на начало участка памяти, которую вы выделили, а выделять память можно под сколько угодно элементов.
лилиэн
6 / 6 / 0
Регистрация: 22.11.2012
Сообщений: 95
09.09.2013, 15:45  [ТС]     Непонятен текст задания #5
Цитата Сообщение от Петррр Посмотреть сообщение
Указатель, это некая цифра, указывающая на начало участка памяти, которую вы выделили, а выделять память можно под сколько угодно элементов.
ну тоесть есть у меня в iCount хранится 5 то pfNum указывает на 1й из 5 элементов, а сразу после него хранится следущий и так далее,значит чтобы добраться до следущего мне достаточно сделать pfNum++ столько раз сколько у меня чисел...гениально блин) спасибки
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,049
Завершенные тесты: 1
09.09.2013, 18:38     Непонятен текст задания #6
Цитата Сообщение от лилиэн Посмотреть сообщение
pfNum++
не просто прибавить один, а прибавить размер ячейки массива
лилиэн
6 / 6 / 0
Регистрация: 22.11.2012
Сообщений: 95
10.09.2013, 09:20  [ТС]     Непонятен текст задания #7
Цитата Сообщение от Raali Посмотреть сообщение
не просто прибавить один, а прибавить размер ячейки массива
а разве он не знает сам размер своей ячейки..то есть если он float то он сдвигается на 1 float
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2013, 09:40     Непонятен текст задания
Еще ссылки по теме:

C++ Непонятен алгоритм
C++ Непонятен состав класса
C++ Непонятен синтаксис шаблонов из кода boost для вычисления факториала
Непонятен код, присваивание значению int символа строки C++
Мне непонятен полный процесс создания программ на с++ C++

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

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6483 / 4949 / 455
Регистрация: 14.02.2011
Сообщений: 16,393
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;
Yandex
Объявления
10.09.2013, 09:40     Непонятен текст задания
Ответ Создать тему
Опции темы

Текущее время: 20:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru