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 << "Podaj liczbe, ktorej rozklad chcesz otrzymac: ";
  13.     cin>>L;
  14.     czynniki( T, L, k );
  15.     wypiszTablice( T, k );      
  16. }
  17.  
  18. void czynniki( int t[], int L, int &i )
  19. {
  20.     int dz=2, tmp=L;
  21.     i=0;
  22.         while (L!=1)
  23.         {
  24.                 while(L%dz==0)
  25.                 {
  26.                         t[i++]=dz;
  27.                         L/=dz;
  28.                 }
  29.                 dz++;
  30.                 if (dz>sqrt(tmp) && L!=1)
  31.                 {
  32.                         t[i++]=L;break;
  33.                 }
  34.         }
  35. }
  36.  
  37. void wypiszTablice( int t[], int n )
  38. {
  39.         for (int i=0 ; i<n ; i++)
  40.     {
  41.         cout << t[ i ] << ", ";
  42.     }
  43. }
  44.