Průnik množin_ výpis a ošetření – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Průnik množin_ výpis a ošetření – C / C++ – Fórum – Programujte.comPrůnik množin_ výpis a ošetření – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
pazdy0
Návštěvník
27. 11. 2013   #1
-
0
-

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.

Nahlásit jako SPAM
IP: 2001:718:1001:6a4:810f:9c...–
Reklama
Reklama
KIIV+42
God of flame
27. 11. 2013   #2
-
0
-

kdyby jen carku ale jeste i mezeru... a je to presne tady:   cout<<poleA[k]<<", ";

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
pazdy0
Návštěvník
27. 11. 2013   #3
-
0
-

A za tím posledním číslem to pořád dělá čárku. Jak to napravím prosím tě?

Nahlásit jako SPAM
IP: 2001:718:1001:6a4:810f:9c...–
hlucheucho+10
Posthunter
27. 11. 2013   #4
-
0
-

   

cout<<"Prunik mnozin: {";
int priznak = 0;
for (k=0; k<A; k++)
{
  for (l=0; l<B; l++)
  {
    if (poleA[k] == poleB[l])
    {
       if (priznak)
         cout << ", " << poleA[k];  //pred kazdy dalsi prvek pruniku se vypise ", "
       else  {
         cout << poleA[k];  //pred prvnim prvkem pruniku se ", " nevypisuje
         priznak = 10;
       }
    }
  }
}
cout<<"}"<<endl;

hu

Nahlásit jako SPAM
IP: 195.178.67.–
pazdy0
Návštěvník
27. 11. 2013   #5
-
0
-

A prosím Vás jak ještě ošetřím tuhle chybu?

Zadejte prvky mnoziny A:

5 abcd

Nespravny vstup.

Šlo by to přes getline?

Nahlásit jako SPAM
IP: 2001:718:1001:6a4:810f:9c...–
KIIV+42
God of flame
27. 11. 2013   #6
-
0
-

cin by mel ohlasit neco jako cin.fail()  (obzvlaste, pokud to nacitas jako cislo)

pripadne zapnout vyjimky a odchytit si ji...

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
pazdy0
Návštěvník
27. 11. 2013   #7
-
0
-

Diky moc uz to slape ;-)

Nahlásit jako SPAM
IP: 2001:718:1001:6a4:810f:9c...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 60 hostů

Podobná vlákna

Průnik 2 úseček — založil yaqwsx

Průnik několika čísel — založil Honza

Průnik dvou množin — založil vasek230

MATLAB - průnik dvou rovin — založil Kristýna

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý