Poniższy program wykorzystuje możliwość przekazania tablicy jako paramtru funkcji.
Zastosowanie tablicy jako parametru funkcji pozwoli nam uniknąć tworzenia zmiennych globalnych.
-
#include <iostream>
-
#include <cmath>
-
using namespace std;
-
-
void czynniki( int t[], int L,int &i);
-
void wypiszTablice( int t[], int n );
-
-
int main()
-
{
-
int T[100]={0};
-
int L,k=100;
-
cout << "\nPodaj liczbe, ktorej rozklad chcesz otrzymac: ";
-
cin>>L;
-
cout << "\nWprowadzone liczba: "<<L<<"\n";
-
czynniki( T, L, k );
-
wypiszTablice( T, k );
-
}
-
-
void czynniki( int t[], int L, int &i )
-
{
-
int dz=2, tmp=L;
-
i=0;
-
while (L!=1)
-
{
-
while(L%dz==0)
-
{
-
t[i++]=dz;
-
L/=dz;
-
}
-
dz++;
-
if (dz>sqrt(tmp) && L!=1)
-
{
-
t[i++]=L;break;
-
}
-
}
-
}
-
-
void wypiszTablice( int t[], int n )
-
{
-
for (int i=0 ; i<n ; i++)
-
{
-
cout << t[ i ] << ", ";
-
}
-
}
Zobacz działenie powyższego kodu w kompilatorze online >>>.