вектор - проблема

Аватар пользователя
fir-tree
Сообщений: 10669
Зарегистрирован: 19 июн 2008, 21:00

вектор - проблема

Сообщение fir-tree » 21 сен 2010, 21:27

mathbeginner писал(а):Source of the post Да, действительно вектор в программировании - это более широкое понятие. Вплоть до помещения в элемент любой объект даже графический

B математике элементы вектора тоже могут быть элементами любых множеств, хоть графических объектов. Надо только, чтобы на них было определено действие некоторого поля.
Последний раз редактировалось fir-tree 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Vector
Сообщений: 344
Зарегистрирован: 24 авг 2010, 21:00

вектор - проблема

Сообщение Vector » 21 сен 2010, 21:27

mathbeginner писал(а):Source of the post
Vector писал(а):Source of the post
Вектор в C++ и в Линейной алгебре разные вещи.

Я догадываюсь почему вектор в C++ обозвали вектором (когда учил C++ и препод сказал реализовать класс вектора, co всеми перегруженными операторами и т.п., я как раз ему тогда принес реализацию мат. вектора, a не то что он хотел).

Что объединяет вектор C++ и вектор в понимании линейной алгебры

1) содержат N-e кол-во (каких-то объектов), которые могут быть представлены в-виде таблички c N строками и 1 столбцом; B C++ элементы обзываются элементами вектора, в лин. алгебре, как правило - координатами вектора в N-мерном пространстве.
2) И там и там введены свои операции - для вектора в C++ они выражаются методами класса или операторными функциями - добавление/удаление элементов, доступ по индексу... Для вектора лин. алгебры введены лин. операции умножения на скаляр, сложения векторов, скалярного произведения...


Спасибо - вы меня понимаете
Да, действительно вектор в программировании - это более широкое понятие. Вплоть до помещения в элемент любой объект даже графический Ho я просто хотел имитировать математический вектор, который бы генерировался для функции на время выполнения программы и хочется сделать четко, но вот подвели некоторые термины, потому и пришел сюда. Я не профи, a только изучаю этот вопрос, потому любой совет по этой теме мне на пользу - спасибо всем



Ну тут скорее наоборот - мат. вектор более широкое понятие, хотя это разные вещи. Если идти этим путем, то любой объект, который можно разместить как элемент в векторе C++, можно представить как мат. вектор, который, например имеет координаты, равные битам составляющие произвольный объект, например в 16-й системе счисления. И например, можно создать на этой основе линейную машину для разнесения объектов по их классам, оперируя c объектами, как векторами лин. алгебры.

И не нужно больше сравнений,
Вектор C++ - это контейнер.
Вектор лин.алгебры - это мат. объект.
Последний раз редактировалось Vector 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
fir-tree
Сообщений: 10669
Зарегистрирован: 19 июн 2008, 21:00

вектор - проблема

Сообщение fir-tree » 21 сен 2010, 21:28

Если не выполняется условие действия поля на элемент, то это получается не вектор, a кортеж.
Последний раз редактировалось fir-tree 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Vector
Сообщений: 344
Зарегистрирован: 24 авг 2010, 21:00

вектор - проблема

Сообщение Vector » 21 сен 2010, 21:36

Тоже самое если бы электронщик, задал вопрос, типа у меня тут есть интегратор, какие мне нужно емкости и резисторы, чтобы взять этот интеграл, хотя это даже по корректнее будет.
Последний раз редактировалось Vector 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
YURI
Сообщений: 5373
Зарегистрирован: 12 дек 2007, 21:00

вектор - проблема

Сообщение YURI » 21 сен 2010, 21:50

fir-tree писал(а):Source of the post Надо только, чтобы на них было определено действие некоторого поля.

fir-tree писал(а):Source of the post Если не выполняется условие действия поля на элемент, то это получается не вектор, a кортеж.

Как-то безграмотно звучит. Если бы я об этом в первый раз слышал, ничего бы не понял; впрочем ладно.
Последний раз редактировалось YURI 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
fir-tree
Сообщений: 10669
Зарегистрирован: 19 июн 2008, 21:00

вектор - проблема

Сообщение fir-tree » 21 сен 2010, 22:17

Да, плохо. Скажите лучше.
Последний раз редактировалось fir-tree 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
YURI
Сообщений: 5373
Зарегистрирован: 12 дек 2007, 21:00

вектор - проблема

Сообщение YURI » 22 сен 2010, 10:33

fir-tree писал(а):Source of the post Надо только, чтобы на них было определено действие некоторого поля.

Например, вместо это лучше просто: "...определена операция умножения на элементы некоторого поля."

P.S. И, как я понял, ваши распинания c полями TC побоку, он 2 страницы спрашивал не знамо что.
Последний раз редактировалось YURI 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
fir-tree
Сообщений: 10669
Зарегистрирован: 19 июн 2008, 21:00

вектор - проблема

Сообщение fir-tree » 22 сен 2010, 11:38

YURI писал(а):Source of the post как я понял, ваши распинания c полями TC побоку

Я тоже так подумал, просто педантствую. И спасибо за улучшенную формулировку, буду лечиться от косноязычия.
Последний раз редактировалось fir-tree 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Wild Bill
Сообщений: 4820
Зарегистрирован: 26 июл 2009, 21:00

вектор - проблема

Сообщение Wild Bill » 22 сен 2010, 13:06

mathbeginner писал(а):Source of the post просто мне интересно перевести этот вектор в C++ например A без принципа заполнения - это не очень-то четко выходит... Потому я и спрашиваю как принято понимать такую форму записи... Или нет общепринятого принципа заполнения при такой форме записи и нужно придумать свой?
Всё очень просто. Описывается класс Vector, a потом просто создаётся его экземпляр или копируется:

Код: Выбрать все

class Vector
{
 int* v;

 Vector(int N) {v = new int[N];};
 Vector(const Vector&)
};

Vector::Vector(const Vector& p)
{
 v = new int [p.size()];
 for (int i=0; i<p.size(); i++) v[i] = p.v[i];
};


Зачем здесь заполнение? Если хотите, заполняйте нулями, но проще просто выделить пространство. A уж если хочется чем-то заполнить при создании, то

Код: Выбрать все

 Vector(int N) {v = new int[N]; for (int i=0; i<N; i++) v[i] = 0;};


Да, это класс-контейнер, но создаётся он именно для реализации математического понятия вектор, a не работы c графической информацией, так как для этого в C++ есть множество других классов-контейнеров. Ho если хотите, то можете создать шаблон для класса Vector, чтобы он работал c любыми типами, a не только c int. (Кстати, это и сделано в STL.)
Последний раз редактировалось Wild Bill 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
fir-tree
Сообщений: 10669
Зарегистрирован: 19 июн 2008, 21:00

вектор - проблема

Сообщение fir-tree » 22 сен 2010, 13:31

Вообще, операция new int[N] уже заполняет нулями (поскольку выполняются конструкторы для каждого элемента int). Так что самому дополнительно этого можно не делать.
Последний раз редактировалось fir-tree 29 ноя 2019, 16:13, всего редактировалось 1 раз.
Причина: test


Вернуться в «Computer Science»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 2 гостей