Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Tablicę dynamiczną X[n] wypełnić liczbami losowymi rzeczywistymi z przedziału <X1, X2>,
- tablicę Y[m] - liczbami losowymi rzeczywistymi z przedziału <Y1, Y2> (n oraz m należy przedtem wczytać, X1, X2, Y1, Y2 - stałe).
- W każdej tablicy wykonać sortowanie dowolną metodą, po czym utworzyć tablicę R (o rozmiarze mniejszej z dwu wartości m, n)
- zawierającą odległości punktów (X[i], Y[i]) od środka układu współrzędnych - i ją również posortować.
- Wydrukować tablice przed i po sortowaniu.
- Napisać i wykorzystać funkcję losującą dane do tablicy, funkcję sortującą dane w tablicy i funkcję drukującą tablicę.*/
- #include <ctime>
- #include <cstdlib>
- #include <iostream>
- #include <cmath>
- using namespace std;
- const int X1=0, X2=10, Y1=-5, Y2=5;
- void wymiar(int &roz)
- {
- cout<<"Podaj wymiar tablicy: ";
- cin>>roz;
- }
- void stworzenie(double *&tab, int roz)
- {
- tab=new double[roz];
- }
- void lotto(double *&tab, int p1, int p2, int roz)
- {
- for(int i=0; i<roz; i++)
- {
- tab[i]=rand()*(p2-p1)/double(RAND_MAX)+p1;
- }
- }
- void sort(double *&tab, int roz)
- {
- double tmp;
- for(int i=roz-1; i>0;i--)
- {
- for(int j=0; j<i; j++)
- if(tab[j]>tab[j+1])
- {
- tmp=tab[j];
- tab[j]=tab[j+1];
- tab[j+1]=tmp;
- }
- }
- }
- void drukuj(double *&tab, int roz)
- {
- cout<<endl<<"Tablica: "<<endl;
- for(int i=0; i<roz; i++)
- {
- cout<<tab[i]<<" ";
- }
- cout<<endl;
- }
- void porownanie(int roz1, int roz2, int &roz3)
- {
- if(roz1>roz2)
- {
- roz3=roz2;
- }
- else
- {
- roz3=roz1;
- }
- }
- void wzor(double *tab1, double *tab2, double *&tabR, int &roz3)
- {
- for(int i=0; i<roz3; i++)
- {
- tabR[i]=sqrt(tab1[i]*tab1[i]+tab2[i]*tab2[i]);
- }
- }
- void usun(double *tab)
- {
- delete []tab;
- }
- int main()
- {
- srand(time(0));
- double *tab1, *tab2, *tabR;
- int n, m, o;
- wymiar(n);
- wymiar(m);
- stworzenie(tab1, n);
- stworzenie(tab2, m);
- lotto(tab1, X1, X2, n);
- lotto(tab2, Y1, Y2, m);
- sort(tab1, n);
- sort(tab2, m);
- drukuj(tab1, n);
- drukuj(tab2, m);
- porownanie(n, m, o);
- stworzenie(tabR, o);
- wzor(tab1, tab2, tabR, o);
- drukuj(tabR, o);
- usun(tab1);
- usun(tab2);
- usun(tabR);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement