С++ & Pascal, Вектора в n-мерном пространстве |
Здравствуйте, гость ( Вход | Регистрация )
С++ & Pascal, Вектора в n-мерном пространстве |
InFuz |
29.9.2010, 14:09
Сообщение
#1
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
Вот и начался новый мучебный год, всем привет!
Дано: 2 похожие задачки, мне все равно на чем их писать на С++ или Паскале, хотя с Паскалем я знаком дольше чем с С++.
|
Евгений М. |
29.9.2010, 14:22
Сообщение
#2
|
Студент Группа: Продвинутые Сообщений: 199 Регистрация: 6.11.2009 Город: Уфа Вы: студент |
Цитата не знаю даже с чего начать Почитать литературу. |
InFuz |
29.9.2010, 14:27
Сообщение
#3
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
Поделитесь хотя бы ссылкой а то гугл всякую фигню выдает.
|
Harch |
29.9.2010, 14:30
Сообщение
#4
|
Ассистент Группа: Активисты Сообщений: 834 Регистрация: 21.10.2009 Город: Москва Учебное заведение: МГУ |
гм, прогать умею отлично, но раз ты не можешь сделать их просто, то помогу сделать сначала математически:
евклидова норма это корень из суммы квадратов координат вектора. скалярное произведение в евклидовом пространстве думаю у тебя происходит покоординатно (то есть x1y1 + x2y2 + ... + xNyN) если скалярное произведение = 0, то вектора перпендикулярны. Если координаты векторов пропорциональны с одним коэффициэнтом (т.е. существует K, такое что y1 = k * y2 и x1 = k * x2 и т. д.), то вектора коллинеарны. все, запрогать думаю сможешь сам |
Евгений М. |
29.9.2010, 14:32
Сообщение
#5
|
Студент Группа: Продвинутые Сообщений: 199 Регистрация: 6.11.2009 Город: Уфа Вы: студент |
Я думал Вам преподы уже давали.
Подбельский. Язык Си++ |
InFuz |
29.9.2010, 14:35
Сообщение
#6
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
Цитата Я думал Вам преподы уже давали. Подбельский. Язык Си++ не не я про математическую часть задачи (IMG:style_emoticons/default/smile.gif) |
Harch |
29.9.2010, 14:38
Сообщение
#7
|
Ассистент Группа: Активисты Сообщений: 834 Регистрация: 21.10.2009 Город: Москва Учебное заведение: МГУ |
а я разве ее не объяснил?
|
Vahappaday |
29.9.2010, 14:39
Сообщение
#8
|
Аспирант Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент |
При проверке на коллинеарность сразу проверяй, нет ли нулевых координат, потому что вероятнее всего будет использоваться деление.
|
InFuz |
29.9.2010, 14:39
Сообщение
#9
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
Harch спасибо за "пищу для ума"
|
Harch |
29.9.2010, 14:41
Сообщение
#10
|
Ассистент Группа: Активисты Сообщений: 834 Регистрация: 21.10.2009 Город: Москва Учебное заведение: МГУ |
то есть ты не понял? объяснить подробнее?
P.S. по мне куда уж подробнее (IMG:style_emoticons/default/smile.gif) |
InFuz |
29.9.2010, 14:47
Сообщение
#11
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
понял, еще воплощать не пробовал, щас другое пишу, но вроде пока понятно, если чо потом буду отдельно спрашивать
|
Harch |
29.9.2010, 14:48
Сообщение
#12
|
Ассистент Группа: Активисты Сообщений: 834 Регистрация: 21.10.2009 Город: Москва Учебное заведение: МГУ |
Хорошо. Пояснения по синтаксису и написанию программ есть? (я знаю только C/C++/Java/C#/PHP/JavaScript/HTML/DirectX/OpenGL)
|
InFuz |
29.9.2010, 14:52
Сообщение
#13
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
С программной частью вроде проблем нет.
|
Harch |
29.9.2010, 14:58
Сообщение
#14
|
Ассистент Группа: Активисты Сообщений: 834 Регистрация: 21.10.2009 Город: Москва Учебное заведение: МГУ |
Хорошо.
|
InFuz |
3.10.2010, 11:19
Сообщение
#15
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
Для 2 программы вот так получилось
Код void main() { clrscr(); int x1,y1,x2,y2,sp,xmin,xmax,ymin,ymax; float kx,ky; cout<<"x1= "; cin>>x1; cout<<"y1= "; cin>>y1; cout<<"x2= "; cin>>x2; cout<<"y2= "; cin>>y2; sp=x1*y1+x2*y2; if(sp==0) cout<<"Vektora perpend."; else cout<<"Vertora ne perpend."; cout<<"\n"; if(x1>=x2) {xmax=x1; xmin=x2;} else {xmax=x2; xmin=x1;} if(y1>=y2) {ymax=y1; ymin=y2;} else {ymax=y2; ymin=y1;} if(xmin!=0) kx=xmax/xmin; if(ymin!=0) ky=ymax/ymin; if(kx==ky) cout<<"Vektora kollinearnbl"; else cout<<"Vektora ne kollinearnbl"; getch(); } |
Vahappaday |
3.10.2010, 11:24
Сообщение
#16
|
Аспирант Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент |
это не n-мерное пространство, а 2-мерное
|
InFuz |
3.10.2010, 11:31
Сообщение
#17
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
|
Евгений М. |
3.10.2010, 11:32
Сообщение
#18
|
Студент Группа: Продвинутые Сообщений: 199 Регистрация: 6.11.2009 Город: Уфа Вы: студент |
У меня сомнения, что вектора (1;2) и (2;5) коллинеарны. Вообще Вы используете целочисленное деление (т.е. дробные части откидываются).
Используйте это равенство: x1*y2-x2*y1=0 Если равенство выполняется то вектора коллинеарны. |
InFuz |
3.10.2010, 11:39
Сообщение
#19
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
все заменил.
|
InFuz |
3.10.2010, 12:08
Сообщение
#20
|
Студент Группа: Продвинутые Сообщений: 116 Регистрация: 13.10.2009 Город: Ульяновск Учебное заведение: УлГУ Вы: студент |
а квадрат евклидовой нормы это будет e=x1^2+y1^2+x2^2+y2^2 ?
|
Текстовая версия | Сейчас: 29.3.2024, 5:57 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru