Potrzebuję pomocy przy zadaniu 4.2 z arkusza
Dwie liczby są cyfropodobne, jeżeli do zapisania każdej z nich wykorzystujemy takie same cyfry dziesiętne. Podaj ile jest punktów, których współrzędne są cyfropodobne. Przykład: Liczby będące współrzędnymi punktu (123, 1321) są cyfropodobne, ponieważobie zostały zapisane za pomocą cyfr 1, 2, 3.
Tyle zdołałam zrobić, niestety wynik jest nieprawidłowy i nie mam pomysłu co dalej
#include <iostream>
#include <fstream>
#include <string>
#include <cmath>
#include <vector>
using namespace std;
int main()
{
ifstream plik("punkty.txt", ios::in);
ofstream zapis("wyniki4.txt",ios::app);
int licznik = 0;
int x[1000][2];
vector <int> dane1;
vector <int> dane2;
bool t = -1;
int d,d2;
for(int i = 0; i<1000; i++)
{
plik >> x[i][0];
plik >> x[i][1];
}
int liczba,liczba2;
for(int i = 0; i<1000; i++)
{
liczba = x[i][0];
liczba2 = x[i][1];
do{
d = liczba%10;
dane1.push_back(d);
liczba/=10;
}
while(liczba);
do{
d2 = liczba2%10;
dane2.push_back(d2);
liczba2/=10;
}
while(liczba2);
for( int i = 0; i < dane1.size(); i++)
{
for(int j = 0; j < dane2.size(); j++)
{
if(dane1[i]==dane2[j])
{
t = true;
}
else{
t = false;
}
}
for( int i = 0; i < dane2.size(); i++)
{
for(int j = 0; j < dane1.size(); j++)
{
if(dane2[i]==dane1[j])
{
t = true;
}
else{
t = false;
}
}
}
// cout<< dane1[ i ]<<" ";
}
if(t)
{
licznik++;
}
dane1.clear();
dane2.clear();
}
cout<<licznik<<endl;
zapis<<licznik<<endl;
plik.close();
zapis.close();
return 0;
}