Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- int main(void) {
- int n, m, A[1000], B[1000], apar[2][1000] = {0}, i, j; // dimensiunile multimilor, multimile si o matrice in care vom salva pozitia elementelro comune
- FILE *f;
- f = fopen("in.txt", "r"); // deschidem in mod citire
- fscanf(f, "%d%d", &n, &m);// citim prima data dimensiunea multimilor
- for (i = 0; i < n; i++) // citim prima data multimea A
- fscanf(f, "%d", &A[i]);
- for (j = 0; j < m; j++) {// citim multimea B
- fscanf(f, "%d", &B[j]);
- for(i = 0; i < n; i++) // verificam daca elementul B[j] aparetine lui A
- if (B[j] == A[i]) {
- apar[0][i] = 1; // Salvam in indici pozitile comune
- apar[1][j] = 1;
- break;
- }
- }
- fclose(f);
- f = fopen("out.txt", "w");
- for (i = 0; i < n; i++) // afisam reuninunea celor doua multimi
- fprintf(f, "%d ", A[i]); // afisam prima data toate elementele din A
- for (j = 0; j < m; j++) // Acum afisam elementele care sunt in B si nu in A
- if (!apar[1][j])
- fprintf(f, "%d ", B[j]);
- fprintf(f, "\n");
- for (i = 0; i < n; i++) // afiam elementele comune dintr-o multime
- if(apar[0][i])
- fprintf(f, "%d ", A[i]);
- fprintf(f, "\n");
- for (i = 0; i < n; i++) // A- B nu luam elemntele din A care se afla in B
- if (!apar[0][i])
- fprintf(f, "%d ", A[i]);
- fprintf(f, "\n");
- for (j = 0; j < m; j++) // Acum afisam elementele care sunt in B si nu in A
- if (!apar[1][j])
- fprintf(f, "%d ", B[j]);
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment