Muszę napisać program który wypisze wszystkie możliwe pary (bez powtórzeń) imion podanych przez użytkownika.
Ma ktoś jakieś propozycje ?
Ale w czym masz problem? Pokaż co sam zrobiłeś to Ci pomożemy :)
Ogólnie nie wiem jak to ugryźć pomocny będzie nawet sam pseudokod.
Zrób sobie kontener unikalnych imion, potem iteruj kolejno pierwsze z każdym z [1..$], drugie z każdym z [2..$], trzecie z każdym z [3..$] i tak dalej aż nie będzie po czym iterować.
Zrobiłem vector do którego dodaję za pomocą push_back() kolejne imiona. W iteracji wyświetla wszystkie imiona, lecz brak pomysłu na wypisanie par.
for(int i=0; i<imie.size(); i++)
{
cout<<"Element "<<i+1<<" ma wartosc: "<<imie[i]<<endl;
}
No to starczy dodatkowa pętla. Druga zaczyna się od imienia po tym co aktualnie w pierwszej, wiec nie będzie tego samego tylko w odwrotnej kolejności.
#include <stdio.h>
int main()
{
for(int i=0; i<(imie.size() - 1); i++)
for (int j = i + 1; j < imie.size(); j++)
{
cout<<"para to " << imie[i] << " oraz " << "imie[j] << "\n";
}
return 0;
}
(bez powtórzeń)
jezeli bedziesz miec to samo imie dwa razy bedziesz miec powtorzenie
tak jak pisal @kq musisz uzyc kontenera ktory nie ma duplikatow. Np std::map
lub filtrowac przy dodawaniu do vectora recznie