Mam do napisania taki program:
- Zadeklaruj dwie tablice całkowite o długości N1 i N2 i wypełnij je liczbami losowymi z przedziału [1, 10]
- Napisz funkcję sortująca tablicę jednowymiarową i zastosuj ją do posortowania tablic t1 i t2
- Napisz i przetestuj funkcję int merge(int[], int, int[], int, int[]), która otrzyma jako argumenty dwie tablice posortowane liczb całkowitych i utworzy nową tablicę, której wartości będą pochodziły z przekazanych tablic, nie będą się powtarzały i będą posortowane rosnąco. Funkcja zwraca długość tablicy wynikowej.
Przykład:
Posortowane tablice wejściowe
1, 2, 2, 5, 5, 5, 6, 6, 8, 9
1, 1, 1, 2, 4, 5, 6, 6, 8, 8, 8, 9, 9, 10, 10
Wynik
1, 2, 4, 5, 6, 8, 9, 10
Zrobiłem coś takiego:
#include <iostream>
#include <iomanip>
using namespace std;
long rndi(int a, int b){
return rand()%(b-a)+a;
}
void sort_babelkowe(int tab[], int n){
for(int i=0; i<n; i++)
for(int j=1; j<n-i; j++)
if(tab[j-1]>tab[j])
swap(tab[j-1], tab[j]);
}
int merge(int a[], int n1, int b[], int n2, int c[]){
}
int main(){
srand(time(nullptr));
int i,j,N=7;
int a[N];
for(i=0; i<N; i++)
a[i]=rndi(0,10);
for(i=0; i<N; i++)
cout<<a[i]<<", ";
cout<<endl;
sort_babelkowe(a,N);
for(i=0; i<N; i++)
cout<<a[i]<<", ";
int c[N1+N2];
N3=merge(a, N1, b, N2, c);
}
I teraz nie wiem jak zapisać tą funkcję merge, bardzo bym prosił o pomoc w napisaniu tego programu