Witam
Mam kod programu, jednak muszę zedytować jego działanie. Obecnie program ten liczy ilość elementów w tablicy A, które nie znajdują się w tablicy B i na odwrót.
Natomiast ja chciałbym, żeby program liczył, ilość elementów w tablicy A, znadującej się również w tablicy B, przy czym chodzi o ilość jednokrotnych elementów ( w tym przypadku jest to 2,4 i 10 więc odpowiedź brzmi 3.)
Pozdrawiam i liczę na pomoc
#include <iostream>
#include <vector>
using namespace std;
vector<int> tab;
int tabA[]={1,2,2,2,3,4,4,4,5,8,10}; //tablica A
int tabB[]={2,2,4,4,4,4,10,16,20}; //tablica B
int wielkosc_tabA=sizeof(tabA)/sizeof(int);//ilosc elementow w tablicy B
int wielkosc_tabB=sizeof(tabB)/sizeof(int); //ilosc elementow w tablicy B
int licznik=0; //licznik wyznaczający czy dana wartosc sie powtarza w tablicy A i B
int szukana=0; //szukana pobiera liczbe z tabeli A i sprawdza czy znajduje sie w tabeli B jesli sie nie znajduje w tabeli B to dodaje 1 do licznika;
int temp=0;
int main(int argc, char **argv)
{
cout << "wielkosc tablicy A = "<<wielkosc_tabA;
cout << "\nwielkosc tablicy B = "<<wielkosc_tabB <<endl;
bool repeated = false;
for (int i = 0; i < wielkosc_tabA; i++)
{
repeated = false;
for (int j = 0; j < wielkosc_tabB; j++)
{
if (tabA[i] == tabB[j])
repeated = true;
}
if (!repeated)
tab.push_back(tabA[i]);
}
for (int i = 0; i < wielkosc_tabB; i++)
{
repeated = false;
for (int j = 0; j < wielkosc_tabA; j++)
{
if (tabB[i] == tabA[j])
repeated = true;
}
if (!repeated)
tab.push_back(tabB[i]);
}
cout << " ( (A suma B) \\ (A czesc wspolna B) )" << endl;
for (int index = 0; index < tab.size(); index++)
{
cout << "Element " << (index + 1) << ": " << tab.at(index) << endl;
}
}