Poniższy program wykorzystuje możliwość przekazania tablicy jako paramtru funkcji. 
Zastosowanie tablicy jako parametru funkcji pozwoli nam uniknąć tworzenia zmiennych globalnych.

  1. #include <iostream>
  2. #include <cmath>
  3. using namespace std;
  4.  
  5. void czynniki( int t[], int L,int &i);
  6. void wypiszTablice( int t[], int n );
  7.  
  8. int main()
  9. {
  10.     int T[100]={0};
  11.     int L,k=100;    
  12.         cout << "\nPodaj liczbe, ktorej rozklad chcesz otrzymac: ";
  13.     cin>>L;
  14.         cout << "\nWprowadzone liczba: "<<L<<"\n";
  15.     czynniki( T, L, k );
  16.     wypiszTablice( T, k );      
  17. }
  18.  
  19. void czynniki( int t[], int L, int &i )
  20. {
  21.     int dz=2, tmp=L;
  22.     i=0;
  23.         while (L!=1)
  24.         {
  25.                 while(L%dz==0)
  26.                 {
  27.                         t[i++]=dz;
  28.                         L/=dz;
  29.                 }
  30.                 dz++;
  31.                 if (dz>sqrt(tmp) && L!=1)
  32.                 {
  33.                         t[i++]=L;break;
  34.                 }
  35.         }
  36. }
  37.  
  38. void wypiszTablice( int t[], int n )
  39. {
  40.         for (int i=0 ; i<n ; i++)
  41.     {
  42.         cout << t[ i ] << ", ";
  43.     }
  44. }

 

 

Zobacz działenie powyższego kodu w kompilatorze online >>>.