Zdravím mám za úkol naprogramovat program na průnik množin.. Program mám naprogramovaný jen mi to špatně vypisuje a já nevím proč...
Program by měl pracovat takhle
Zadejte pocet prvku mnoziny A:
7
Zadejte prvky mnoziny A:
1 2 3 4 5 6 7
Zadejte pocet prvku mnoziny B:
7
Zadejte prvky mnoziny B:
6 4 5 2 3 1 7
Prunik mnozin:
{1, 2, 3, 4, 5, 6, 7}
Mně to tak pracuje jen u toho vypisuju prunik mnozin, mi to za to poslední cislo da taky carku a já nevím jak se ji zbavit :(
A pak ještě potřebuji opatřit tohle
Zadejte pocet prvku mnoziny A:
2
Zadejte prvky mnoziny A:
5 abcd
Nespravny vstup.
Zadejte pocet prvku mnoziny A:
5
Zadejte prvky mnoziny A:
1 8 12 6 8
Nespravny vstup.
Aby mi to vypsalo u obou ten nespravny vstup...
#include <iostream>
using namespace std;
int main()
{
int A;
int B;
int i;
int j;
int k;
int l;
cout<<"Zadejte pocet prvku mnoziny A:"<<endl;
cin>>A;
if (A<0)
{
cout<<"Nespravny vstup."<<endl;
return 0;
}
int * poleA = new int [A];
cout<<"Zadejte prvky mnoziny A:"<<endl;
for (i=0; i<A; i++)
{
cin>>poleA[i];
}
cout<<"Zadejte pocet prvku mnoziny B:"<<endl;
cin>>B;
if (B<0)
{
cout<<"Nespravny vstup."<<endl;
return 0;
}
int * poleB = new int [B];
cout<<"Zadejte prvky mnoziny B:"<<endl;
for (j=0; j<B; j++)
{
cin>>poleB[j];
}
cout<<"Prunik mnozin: {";
for (k=0; k<A; k++)
{
for (l=0; l<B; l++)
{
if (poleA[k] == poleB[l])
{
cout<<poleA[k]<<", ";
}
}
}
cout<<"}"<<endl;
return 0;
}
Díky za radu.