#include #include 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; }