Przestrzeń n wymiarowa
Ostatnio zmodyfikowano 2015-01-12 22:31
Dalir Temat założony przez niniejszego użytkownika |
Przestrzeń n wymiarowa » 2015-01-12 14:37:30 Witam, Uczę się programowania od początku na 1 roku studiów informatyki stosowanej. Do tej pory z pomocą ćwiczeniowca dawałem sobie radę aż w pewnym momencie zaciąłem się na jednym programie.
#include<stdio.h> #include<stdlib.h> #include<stdlib.h> #include <math.h> #define _CRT_SECURE_NO_WARNINGS
struct wspwek { float x1, y1, x2, y2; };
struct wspwek wczytaj() { struct wspwek w; printf( "Podaj wspolrzedne x,y wektora1: \n" ); scanf( "%f %f", & w.x1, & w.y1 ); printf( "Podaj wspolrzedne x,y wektora2: \n" ); scanf( "%f %f", & w.x2, & w.y2 ); return w; };
void wypisz( struct wspwek w ) { printf( "w1\n x=%f\n y=%f\n", w.x1, w.y1 ); printf( "w2\n x=%f\n y=%f\n", w.x2, w.y2 ); } int main() { struct wspwek w; w = wczytaj(); wypisz( w ); system( "PAUSE" ); return 0; }
Otóż mam problem jak w ogóle ugryźć problem wielowymiarowości i wzory Euklidesa. Nie wiem też czy wszystkie struktury mam dobrze bo nie rozumiem ich aż tak dobrze. Prosiłbym o jakieś porady. |
|
darko202 |
» 2015-01-12 15:04:18 A. wielowymiarowość To co zrobiłeś dotyczyło 2 wymiarów czyli gdybyś 1. utworzył strukturę strukt punkt { float x, y; };
2. wykorzystał jakiś kontener dynamiczny np. vector<punkt> dane; http://cpp0x.pl/dokumentacja/standard-C++/vector/8193 tu przydałaby się klasa której dodałbyś ww kontener + potrzebne funkcje wypisz... wczytajDane (choć możes to pominąć) 4. na początek przerobić zaprezentowany program dla 2 wymiarów przy użyciu ww klasy a potem dla dowolnej już ilości wymiarów n to miałbyś wielowymiarowość B wzór Euklidesa nie wiem jaki ma mieć związek przestrzeń wielowymiarowa z tym wzorem http://www.algorytm.edu.pl/algorytmy-maturalne/algorytm-eulkidesa.htmlmusisz to doprecyzować. |
|
Dalir Temat założony przez niniejszego użytkownika |
» 2015-01-12 16:18:57 B. Chodziło mi dokładnie o to http://pl.wikipedia.org/wiki/Odleg%C5%82o%C5%9B%C4%87 , czyli długość wektora. |
|
darko202 |
» 2015-01-12 22:31:24 Sorry, rozpędziłem się dla jednego wymiaru, mamy oczywiście strukt punkt { float x; };
dla dwóch vector<punkt> dane; dane[0].x - pierwszy wymiar dane[1].x - drugi wymiar itd. do n wymiaru czyli gdy mamy dwa punkty N wymiarowe vector<punkt> A, B; float odległość = sqr( ( (A[0].x-B[0].x)^2+ (A[1].x-B[1].x)^2+ .... +(A[n-1].x-B[n-1].x)^2 )); no tak, znowu się rozpędziłem oczywiście może być prościej bez stuktury gdy vector<float> dane; dane[0] - pierwszy wymiar dane[1] - drugi wymiar itd. do n wymiaru czyli gdy mamy dwa punkty N wymiarowe vector<float> A, B; float odległość = sqr( ( (A[0]-B[0])^2+ (A[1]-B[1])^2+ .... +(A[n-1]-B[n-1])^2 )); |
|
« 1 » |