Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoć sa skupovima

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoć sa skupovima

[ Pregleda: 1935 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mixerowsky
Miroslav Mitic
Donja Lomnica

Član broj: 174629
Poruke: 42
217.16.130.*



Profil

icon Pomoć sa skupovima06.05.2010. u 23:21 - pre 169 meseci
Potrebna mi je pomoć oko sledećeg zadatka:

Na programskom jeziku C napisati program kojim se na osnovu skupova A i B,
formiraju skupovi C=(A∪B) i D=(A\B), pri čemu su A i B celobrojni skupovi,
dimenzija N i M, respektivno. Štampati skupove A, B,C i D.

Sad i nije problem učitavanje elemenata skupa A i skupa B, već je problem zbog operacije nad njima (C=(A∪B) i D=(A\B)), nisam nikad radio ovakve vrste problema
tako da nisam nešto upućen i svaka pomoć je dobro došla...
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Pomoć sa skupovima07.05.2010. u 09:27 - pre 169 meseci
Kako si u programu organizovao skupove? Jesu li to nizovi?

Kod operacije unije treba da napraviš novi skup u kome su iskopirani svi elementi iz početna dva skupa, ali bez ponavljanja. E ovo "bez ponavljanja" je kvaka. Kad iskopiraš elemente prvog skupa onda je sve okej, ali kad kreneš sa kopiranjem elemenata iz drugog skupa onda za svaki od njih moraš da proveriš da li se već nalazi u nizu. E sad, ako već imaš funkciju za dodavanje elementa u skup koja vodi računa o dupliranju onda nemaš problem, treba samo da koristiš tu funkciju.

Kod operacije oduzimanja treba da napraviš novi skup u kome su iskopirani svi elementi iz prvog skupa kojih nema u drugom skupu. To radiš tako što za svaki element iz prvog skupa proveravaš da li se nalazi u drugom skupu. Ako se ne nalazi onda ga ubacuješ u rezultirajući skup.
 
Odgovor na temu

mixerowsky
Miroslav Mitic
Donja Lomnica

Član broj: 174629
Poruke: 42
*.dynamic.isp.telekom.rs.



Profil

icon Re: Pomoć sa skupovima07.05.2010. u 16:19 - pre 169 meseci
Ovako, napisao sam program onako iz glave ali postoji greška negde, kao da se javlja neka beskonačna petlja, evo koda pa ako imate ideju gde je moguća greška javite...inače ću morati da radim Debug....da Mihajlo, organizovani su u nizovima...

Code:
#include <stdio.h>
int main()
{
    int i,j,n,m,A[20],B[20];
    int C[40],D[20],l,k,h;
    printf("Unesite broj clanova skupa A: ");
    scanf("%d",&n);
    printf("\nUnesite broj clanova skupa B: ");
    scanf("%d",&m);
    printf("\nUnesite clanove skupa A: ");
    for(i=0;i<n;i++)
        scanf("%d",&A[i]);
    printf("\nUnesite clanove skupa B: ");
    for(i=0;i<m;i++)
        scanf("%d",&B[i]);
    l=0;
    k=0;
    for(i=0;i<n;i++)
    {
        h=0;
        for(j=0;j<m;j++)
            if(A[i]==B[j])
                h=1;
        {
            if(h==0)
                C[l]=A[i];
                l++;
                D[k]=A[i];
                k++;
        }//if
    }//for
    printf("\nUnija skupova A i B je: ");
    for(i=0;i<l;l++)
        printf("%d ",C[i]);
    for(i=0;i<n;i++)
        printf("%d ",A[i]);
    printf("\nSkup A bez skupa B je: ");
    for(i=0;i<k;i++)
        printf("%d ",D[i]);
}//main
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Pomoć sa skupovima07.05.2010. u 16:38 - pre 169 meseci
Kažeš da ćeš morati da radiš debug kao da je to nešto loše. Ja obožavam da debagujem :-). Probaj da zameniš mesta ovim dvema linijama:

Code:

        {
            if(h==0)


Trenutno skupovi C i D uvek sadrže istovetne elemente, i to, ovako odoka, rezultat razlike skupova (što treba da bude D). Moraćeš za C da smisliš nešto drugo. To drugo verovatno treba da bude u drugoj dvostrukoj petlji.
 
Odgovor na temu

Tiristor
Skola/obrazovanje

Član broj: 102849
Poruke: 184
*.rcub.bg.ac.rs.



Profil

icon Re: Pomoć sa skupovima20.05.2010. u 14:56 - pre 169 meseci
Je li resen problem ili treba pomoc?
 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Pomoć sa skupovima

[ Pregleda: 1935 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.