Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include<ctime>
- using namespace std;
- void init(int t[], int N)
- {
- t[0]=rand()%10;
- for(int i=1; i<N;i++)
- t[i]=rand()%10 + t[i-1];
- }
- void show(int *tab,int size)
- {
- for(int i =0;i<size;i++)
- cout<<tab[i]<<" ";
- }
- void merge(int *tab1,int size1,int *tab2, int size2, int *wynik)
- {
- int i,j,k; // zmiennne pomocnicze
- for(i=j=k =0; i <size1 && j<size2; k++)
- {
- if(tab1[i]<tab2[j])
- {
- wynik[k] =tab1[i];
- i++;
- }
- else
- {
- wynik[k] = tab2[j];
- j++;
- }
- }
- if(i<size1)
- {
- for(;i<size1;i++,k++)
- wynik[k]=tab1[i];
- }
- else
- {
- for(;j<size2;j++,k++)
- wynik[k]=tab2[j];
- }
- }
- void zadanie2()
- {
- int const N = 30;
- int const M = 40;
- int dane1[N], dane2[M], wynik[N+M];
- init(dane1,N);
- cout<<"pierwsza tablica"<<endl;
- show(dane1,N);
- cout<<endl;
- cout<<"druga tablica"<<endl;
- init(dane2,M);
- show(dane2,M);
- cout<<endl;
- cout<<"po przesortowaniu"<<endl;
- merge(dane1,N,dane2,M,wynik);
- show(wynik,N+M);
- }
- int main()
- {
- zadanie2();
- system("PAUSE");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment