Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int** test(int *tab, int n);
- int main() {
- int n2 = 6;
- int *tab = new int[n2]{1, 2, 3, 4, 5, 6};
- int **testP = test(tab, n2);
- for(int i = 0; i < 2; ++i){
- for(int j = 1; j <= testP[i][0]; ++j){
- cout << testP[i][j] << " ";
- }
- cout << endl;
- }
- }
- int** test(int *tab, int n){
- int dzielniki_index = 1,index_tabd = 2;
- int parzyste_index = 1,index_tabp = 2;
- int *dzielniki = new int[index_tabd];
- int *parzyste = new int[index_tabp];
- for(int i = 0; i < n; ++i){
- if(n % tab[i] == 0){
- if(dzielniki_index == index_tabd){
- index_tabd *= 2;
- int *tmp = new int[index_tabd];
- copy(dzielniki, dzielniki + index_tabd/2, tmp);
- delete[] dzielniki;
- dzielniki = tmp;
- dzielniki[dzielniki_index++] = tab[i];
- }else{
- dzielniki[dzielniki_index++] = tab[i];
- }
- }
- if(tab[i] % 2 == 0){
- if(parzyste_index == index_tabp){
- index_tabp *= 2;
- int *tmp = new int[index_tabp];
- copy(parzyste, parzyste + index_tabp/2, tmp);
- delete[] parzyste;
- parzyste = tmp;
- parzyste[parzyste_index++] = tab[i];
- }else{
- parzyste[parzyste_index++] = tab[i];
- }
- }
- }
- dzielniki[0] = dzielniki_index - 1;
- parzyste[0] = parzyste_index - 1;
- int **ret = new int*[2];
- ret[0] = dzielniki;
- ret[1] = parzyste;
- return ret;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement