Advertisement
Guest User

zad do kolosa

a guest
Dec 8th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. /* Zdefiniowana jest struktura struct moja{ double wart; int ind;}; Napisz funkcję której wartością będzie lista o elementach struktury moja, gdzie pole wart wynosi Acos(Bpi/i), pole ind wynosi i, gdzie i numeruje kolejne elementy listy oraz i=1, 2, …, n
  2. 2. Napisz funkcję bezargumentową której wartością będzie lista o elementach ww struktury. Funkcja ta ma wywołać funkcję z zadania 1, pytając się użytkownika o podanie odpowiednich informacji.
  3. 3. Napisz funkcję która obliczy iloczyn skalarny dwu wektorów o tej samej długości poprzez listę zdefiniowaną w zadaniu 1.
  4. 4. Napisz funkcję która zmodyfikuje listę, w ten sposób ze jeśli pole wart jest mniejsza niż xmin, to 1. Przed tym elementem 2. Po tym elemencie wstawi do listy element o wart=xmin oraz ind=-1;
  5. 5. Napisz funkcję która wyświetli wyżej zdefiniowaną listę podając wartość oraz położenie struktury moja w liście.
  6. 6. W głównym segmencie, zademonstruj działanie wszystkich funkcji. */
  7.  
  8. #include<iostream>
  9. #include<list>
  10. #include <cmath>
  11. #include <vector>
  12. #include <algorithm>
  13.  
  14.  
  15. using namespace std;//std to worek (stanardowa przestrzen nazw) zawierajacy wszystkie podstawwe funkcje np cout, cin
  16.  
  17. struct moja{
  18. double wart;
  19. int ind;
  20. };
  21.  
  22. list<moja> funkcja(int A, int B, int n){
  23. list<moja> zad;
  24. moja temp;
  25.  
  26. for(int i=0; i<n;i++){
  27. temp.ind = i;
  28. temp.wart =A*cos((B*M_PI)/i);
  29. zad.push_back(temp);
  30. }
  31.  
  32. return zad;
  33. }
  34.  
  35. list<moja> funkcja2(){
  36. int A, B, n;
  37. cout<<"podaj A"<<endl;
  38. cin>>A;
  39. cout<<"podaj B"<<endl;
  40. cin>>B;
  41. cout<<"podaj n"<<endl;
  42. cin>>n;
  43.  
  44. return funkcja(A,B,n);
  45. }
  46.  
  47. double skal (list<moja>&list1, list<moja>&list2){
  48. list<moja> l1= list1;
  49. list<moja> l2= list2;
  50. double s=0;
  51. while(l1.empty()==0){
  52. list<moja>::iterator it1=l1.end();
  53. list<moja>::iterator it2=l2.end();
  54. s=s+(it1->wart*it2->wart);
  55. l1.pop_back();
  56. l2.pop_back();
  57.  
  58. }
  59.  
  60. cout<<s;
  61.  
  62. return s;
  63. }
  64.  
  65. /*void funkcja41(list<moja>& zad){
  66. moja temp;
  67. int i;
  68. double mini;
  69. mini=temp.wart.begin();
  70. for(it=temp.wart.begin(); it!=zad.wart.end(); it++){
  71. if(*mini>(*it)){
  72. *mini=(*it);
  73. }
  74. }
  75. }*/
  76.  
  77. int main(){
  78. int A,B,n;
  79. list<moja> list1=funkcja2();
  80. list<moja> list2=funkcja2();
  81. //moja temp;
  82. skal(list1, list2);
  83.  
  84.  
  85. /* // funkcja(A,B,n);
  86. funkcja2();
  87.  
  88. list<moja>::iterator it;
  89.  
  90. for(it=zad.begin(); it!=zad.end(); it++){
  91. for(int i =0; i<n;i++){
  92. cout<<temp.wart[i]<<endl;
  93. }
  94. }
  95. */
  96.  
  97. return 0;
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement