Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 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. 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. Napisz funkcję która obliczy iloczyn skalarny dwu wektorów o tej samej długości poprzez listę zdefiniowaną w zadaniu 1.
- 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. Napisz funkcję która wyświetli wyżej zdefiniowaną listę podając wartość oraz położenie struktury moja w liście.
- 6. W głównym segmencie, zademonstruj działanie wszystkich funkcji. */
- #include<iostream>
- #include<list>
- #include <cmath>
- #include <vector>
- #include <algorithm>
- using namespace std;//std to worek (stanardowa przestrzen nazw) zawierajacy wszystkie podstawwe funkcje np cout, cin
- struct moja{
- double wart;
- int ind;
- };
- list<moja> funkcja(int A, int B, int n){
- list<moja> zad;
- moja temp;
- for(int i=0; i<n;i++){
- temp.ind = i;
- temp.wart =A*cos((B*M_PI)/i);
- zad.push_back(temp);
- }
- return zad;
- }
- list<moja> funkcja2(){
- int A, B, n;
- cout<<"podaj A"<<endl;
- cin>>A;
- cout<<"podaj B"<<endl;
- cin>>B;
- cout<<"podaj n"<<endl;
- cin>>n;
- return funkcja(A,B,n);
- }
- double skal (list<moja>&list1, list<moja>&list2){
- list<moja> l1= list1;
- list<moja> l2= list2;
- double s=0;
- while(l1.empty()==0){
- list<moja>::iterator it1=l1.end();
- list<moja>::iterator it2=l2.end();
- s=s+(it1->wart*it2->wart);
- l1.pop_back();
- l2.pop_back();
- }
- cout<<s;
- return s;
- }
- /*void funkcja41(list<moja>& zad){
- moja temp;
- int i;
- double mini;
- mini=temp.wart.begin();
- for(it=temp.wart.begin(); it!=zad.wart.end(); it++){
- if(*mini>(*it)){
- *mini=(*it);
- }
- }
- }*/
- int main(){
- int A,B,n;
- list<moja> list1=funkcja2();
- list<moja> list2=funkcja2();
- //moja temp;
- skal(list1, list2);
- /* // funkcja(A,B,n);
- funkcja2();
- list<moja>::iterator it;
- for(it=zad.begin(); it!=zad.end(); it++){
- for(int i =0; i<n;i++){
- cout<<temp.wart[i]<<endl;
- }
- }
- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement