Poniższy program prezentuje możliwości wykorzystania funkcji z parametrami. Na początek jako parametry funkcji przekzujemy pojedyncze zmienne (tablica pozosataje globalna - tablica jako parametr w C++ występuje w innym artykule), poszczególne części zadania realizowane są przez funkcje z parametrami wykonujące operacje na elementach tablicy globalnej:
- losowanie liczb i zapis do tablicy globalnej - parametr decyduje o ilosci losowanych liczb,
- wypisanie liczb z tablicy globalnej - parametry decydują o ilosci wypisanych liczb, szerszy opis funkcji wypisz1, wypisz2, wypisz3 znajdziesz po kodem programu (>>>).
-
//funkcje z parametrami, na razie pozostajemy przy tablicy globalnej
-
#include<iostream>
-
#include<algorithm>
-
#include<ctime>
-
#include<climits>
-
using namespace std;
-
-
//zmienne globalne
-
int T[100000];
-
-
//deklaracja funkcji
-
void Losuj(int);
-
void Wypisz1(int);
-
void Wypisz2(int,int);
-
void Wypisz3(int,int);
-
-
//funkcja glowna
-
int main()
-
{
-
Losuj(100);
-
-
cout<<"\nWszystkie liczby z tablicy: ";
-
Wypisz1(100);
-
-
cout<<"\n\nPierwszych 10 liczb z tablicy: ";
-
Wypisz1(10);
-
-
cout<<"\n\nLiczby na pozycja od 11. do 20. : ";
-
Wypisz2(10,20);
-
-
cout<<"\n\nWszystkie liczby z tablicy, ktore sa podzielne przez 3: ";
-
Wypisz3(100,3);
-
}
-
-
/******** definicje funkcji uzytych w programie ************/
-
-
//losowanie liczb i zapis do tablicy globalnej T -> funkcja bez parametru -> losuje 100 liczb
-
void Losuj(int n)
-
{
-
srand(time(NULL));
-
for (int i=0;i<n;i++)
-
T[i] = rand() % 100 + 1 ;
-
}
-
-
//wypisanie n liczb z tablicy globalnej T -> funkcja wypisuje n liczb od indexu 0 do n
-
void Wypisz1 (int n )
-
{
-
for (int i=0;i<n;i++)
-
if (i==n-1)
-
cout<<T[i];
-
else
-
cout<<T[i]<<",";
-
}
-
-
//wypisanie liczb z tablicy globalnej T -> parametry x i y wyznaczaja ktore liczby z tablicy mamy wypisac x->index początkowy | y->index końcowy
-
void Wypisz2 (int x, int y)
-
{
-
for (int i=x;i<y;i++)
-
if (i==y-1)
-
cout<<T[i];
-
else
-
cout<<T[i]<<",";
-
}
-
-
//Funkcja wypisz3 - 2 parametry: n->ilosc liczb ,d->dzielnik | funkcja wypisuje z tablicy globalnej wszystkie liczby podzielne przez dzielnik 'd'
-
void Wypisz3 (int n, int d)
-
{
-
for (int i=0;i<n;i++)
-
if (T[i]%d==0)
-
cout<<T[i]<<",";
-
}
-
Zobacz dziłanaie powyższego kodu w kompilatorze online >>>.
Opis funckcji wypisz:
Wszystkie trzy funkcje wypisz użyte w naszym programie realizują swoje zadnie bez zwracania wyników do funkcji main() (dlatego są typu void) - wypisywanie liczb spełniających zadane warunki odbywa się w funkcjach
-
void Wypisz1 (int n )
-
{
-
for (int i=0;i<n;i++)
-
if (i==n-1)
-
cout<<T[i];
-
else
-
cout<<T[i]<<",";
-
}
- n - ilość odczytanych liczb z tablicy,
-
void Wypisz2 (int x, int y)
-
{
-
for (int i=x;i<y;i++)
-
if (i==y-1)
-
cout<<T[i];
-
else
-
cout<<T[i]<<",";
-
}
- x -> numer indeksu pierwszej liczby,
- y-1 -> numer indeksu ostatniej liczby,
-
void Wypisz3 (int n, int d)
-
{
-
for (int i=0;i<n;i++)
-
if (T[i]%d==0)
-
cout<<T[i]<<",";
-
}
- n -> ilość odczytanych liczb z tablicy,
- d -> dzielnik -> poszukujemy liczb podzielnych przez d w tablicy T.