Advertisement
MAT4m

Untitled

Jan 13th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. #include <limits.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4.  
  5. struct NVec {
  6. int n; //liczba wymiarow
  7. double v[INT_MAX]; //skladowe wektora, nie mam pomyslu innego niz wstawienie INT_MAX z limits.h, ale myśle, że to przejdzie - raczej w tym zadaniu chodzi o kumanie struktur, a nie zabawy w alokacje pamięci.
  8. }
  9.  
  10. // typedef trzeba to zrobić, zeby potem używać typu "NVec" zamiast "struct NVec"
  11. typedef struct NVec NVec;
  12.  
  13. //funkcja do inicjalizacji, tylko nie wiem czy na pewno o cos takiego chodzi...
  14.  
  15. NVec createNVecInstance(double* init_vec, int init_vec_length); {
  16. NVec newVector;
  17. newVector.n = init_vec_length;
  18. for(int i = 0; i< newVector.n; i++) {
  19. newVector.v[i] = init_vec[i];
  20. }
  21. return newVector;
  22. }
  23.  
  24. //funkcja dodawania input: 2 wektory, output: wektor, który jest suma 2 wektorów
  25.  
  26. NVec addNVec(NVec vec1, NVec vec2)
  27. {
  28. // na poczatku takiej funkcji mozna sprawdzić czy mają tyle samo wymiarów JEZELI (v1.n != v2.n) TO wypisz komunikat, ze dodawanie niemozliwe.
  29. // jak już wiadomo, że można dodawać to:
  30. NVec result;
  31. result.n = vec1.n; //wynikowy wektor ma tyle wymiarow co vec1 lub vec2
  32. for(int i = 0; i< result .n; i++) {
  33. result.v[i] = vec1.v[i] + vec2.v[i];
  34. }
  35. return result ;
  36. }
  37.  
  38. // funckja odejmowania analogicznie jak dodawanie tyle, że argumenty wypada nazwać Minuend − Subtrahend
  39. NVec substractNVec(NVec vec_minuend, NVec vec_subtrahend) {
  40. //obliczenia...
  41. return result;
  42. }
  43.  
  44. // funckja mnożenia skalarnego będą 2 argumenty (NVec vec, double multiplicator)
  45.  
  46. // funkcja length to pewnie tylko tyle
  47. int vecLenght(NVec vec)
  48. {
  49. return vec.n;
  50. }
  51.  
  52. // dot product
  53. double vecDotProduct(NVec vec1, NVec vec2) {
  54. // obliczenie vec1*vec2 https://en.wikipedia.org/wiki/Dot_product
  55. return result;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement