#include <iostream>
using namespace std;
int main()
{
int a, count = 0;
cin >> a;
int x[a], y[a], istix[a], istiy[a], br1 = 0, br2 = 0;
for (int i = 0; i < a; i++)
cin >> x[i] >> y[i];
for (int i = 0; i < a; i++){
for (int j = 0; j < a; j++){
if(x[i] == y[j]){
count++;
istix[br1] = i;
istiy[br2] = j;
br1++;
br2++;
}
}
}
if (count >= 3){
cout << "Pozicii na isti elementi vo prvata niza:" << endl;
for (int i = 0; i < br1; i++)
cout << istix[i] << endl;
cout << "Pozicii na isti elementi vo vtorata niza:" << endl;
for (int i = 0; i < br2; i++)
cout << istiy[i] << endl;
}
return 0;
}
Я пишу задачу, где я должен проверить, есть ли более 3-х элементов в двух массивах с одинаковым значением, если это так, я должен вывести их индекс в обоих массивах.Положение элементов массива
Моя программа выводит правильно для первого массива, но не для второго. Я использовал тот же метод для обоих, так почему он не работает?
5
9 4
2 5
4 1
5 9
12 59
Pozicii na isti elementi vo prvata niza:
0
2
3
Pozicii na isti elementi vo vtorata niza:
3
0
1
Это фактический выход, все правильно, за исключением последнего массива:
3
0
1
Это должно быть:
0
1
3
Что вход, ожидаемый выход, и фактический выход? – interjay
Обновлен с ожидаемым/фактическим результатом. – user3002211
Результат выглядит правильно для меня ... Почему, по-вашему, это должно быть иначе? – interjay