24.11.1.24011110. Napisati generičku (šablonsku) funkciju “Zajednicki“ sa četiri parametra “Niz1”, “N1”, “Niz2“ i “N2”. Parametri “Niz1“ i “Niz2“ su nizovi proizvoljnog tipa elemenata, a “N1“ i “N2“ predstavljaju brojeve elemenata u tim nizovima respektivno. Funkcija treba da kao rezultat vrati broj elemenata koji se javljaju kao zajednički elementi i u jednom i u drugom nizu (radi jednostavnosti podrazumijevati da nizovi ne sadrže elemente koji se ponavljaju). Na primjer, neka su date sljedeće deklaracije:
int A[5] = {3, 7, 2, 1, 5};
int B[6] = {4, 6, 7, 8, 1, 3};
Tada sljedeća naredba
cout << Zajednicki(A, 5, B, 6);
treba da ispiše broj 3, jer se tri elementa (3, 7 i 1) pojavljuju u oba niza. Napisati i kratki testni program u kojem ćete demonstrirati napisanu funkciju.

Opis rješenja:

Listing programa:

#include <iostream>
#include <conio.h>
using namespace std;

template<typename tip1,typename tip2>
int zajednicki(tip1 N1[],int C1,tip2 N2[],int C2){
int brojac(0);
for(int i=0;i<C1;i++)
    for(int j=0;j<C2;j++)if(N1[i]==N2[j])brojac ++;
return brojac;
}
int main(){
int n,m,br;
cin>>n>>m;
const int c1(n),c2(m);
int niz1[c1],niz2[c2];
for(int i=0;i<c1;i++)cin>>niz1[i];
for(int i=0;i<c2;i++)cin>>niz2[i];
br=zajednicki(niz1,c1,niz2,c2);
cout<<"br   "<<br;
getch();
return 0;
}

Ispis na ekranu:

Riješeni zadaci 2    Index