Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- //operatii cu multimi reuniune....diferenta simetrica
- void citiremultime (int n,float a[])
- {
- int i;
- for(i=0;i<n;i++)
- {
- printf("citeste elementul %d = ",i);
- scanf("%f",&a[i]);
- }
- }
- void afisaremultime (int n,float a[])
- {
- int i;
- printf("{");
- for (i=0;i<n;i++)
- {
- printf("%.2f, ",a[i]);
- }
- printf("}\n");
- }
- /*testeaza x din A*/
- int apartine(int n, float a[], float x)
- {
- int i;
- for(i=0;i<n;i++)
- {
- if(x == a[i])
- {
- return 1;
- }
- }
- return 0;
- }
- int main()
- {
- int i,n,m,p;
- float a[20];
- float b[20];
- float c[40];
- printf("citim numarul de elemente din multime al multimii A: ");
- scanf("%d",&n);
- citiremultime(n,a);
- afisaremultime(n,a);
- printf("citim numarul de elemente din multime al multimii B: ");
- scanf("%d",&m);
- citiremultime(m,b);
- afisaremultime(m,b);
- //copiem toate elementele din A si le punem in multimea C reuniune
- for(i=0;i<n;i++)
- {
- c[i]= a[i];
- }
- p=n; //p retine numarul de elemente din C
- //verificam toate elementele din B, daca nu apartin lui A, le adaugam la C.
- for(i=0;i<m;i++)
- {
- if(!apartine(n,a,b[i]))
- {
- c[p]=b[i];
- p++;
- }
- }
- printf("reuniunea este: ");
- afisaremultime(p,c);
- //calculam intersectia
- p=0;
- for(i=0;i<n;i++)
- {
- if(apartine(n,b,a[i]))
- {
- c[p]=a[i];
- p++;
- }
- }
- printf("intersectia este: ");
- afisaremultime(p,c);
- //calculam diferenta A/B
- p=0;
- for(i=0;i<n;i++)
- {
- if(!apartine (n,b,a[i]))
- {
- c[p]=a[i];
- p++;
- }
- }
- printf("diferenta A/B este: ");
- afisaremultime(p,c);
- //calculam diferenta B/A
- p=0;
- for(i=0;i<n;i++)
- {
- if(!apartine (n,a,b[i]))
- {
- c[p]=b[i];
- p++;
- }
- }
- printf("diferenta B/A este: ");
- afisaremultime(p,c);
- //calculam diferenta simetrica A/\B
- p=0;
- for(i=0;i<n;i++)
- {
- if(!apartine (n,b,a[i]))
- {
- c[p]=a[i];
- p++;
- }
- }
- for(i=0;i<n;i++)
- {
- if(!apartine (n,a,b[i]))
- {
- c[p]=b[i];
- p++;
- }
- }
- printf("diferenta A/\B este: ");
- afisaremultime(p,c);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment