Мой код приведен ниже. Это код C++. Этот код делает общее деление на два числа. Например, если входной сигнал равен 18,24, выход составляет 2,2,2,3,3. Но я хочу только 2 и 3 выхода. Я не могу это исправить. Как я могу это исправить? Спасибо за помощь ...Чтобы избежать повторения чисел в массивах в C++
#include<iostream>
using namespace std;
class Ratio {
public:
Ratio(int numerator, int denumerator) {
num=numerator;
den=denumerator;
}
void commondivisor() {
int arr[20];
int arr2[20];
int c=0;
int c2=0;
for (int q = 2; num != 1; q ++)
{
if (num % q == 0)
{
num /= q;
arr[c]=q;
q --;
c++;
}
}
cout << endl;
for (int w = 2; den != 1; w ++)
{
if (den % w == 0)
{
den /= w;
arr2[c2]=w;
w --;
c2++;
}
}
for (int i=0; i<c; i++) {
for (int j=0; j<c2; j++) {
if (arr[i]==arr2[j])
cout<<arr2[j];
}
}
}
private:
int num;
int den;
};
int main() {
int a;
int b;
cin >> a;
cin >> b;
Ratio nesne(a,b);
nesne.commondivisor();
return 0;
}
Вы пытались найти его перед вставкой? http://en.cppreference.com/w/cpp/algorithm/find – willll
да, но не – frkn6161