Alx09

Ex 14

May 7th, 2020
1,283
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.45 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4.  
  5.  
  6. int main(void) {
  7.     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
  8.     FILE *f;
  9.     f = fopen("in.txt", "r"); // deschidem in mod citire
  10.     fscanf(f, "%d%d", &n, &m);// citim prima data dimensiunea multimilor
  11.     for (i = 0; i < n; i++) // citim prima data multimea A
  12.         fscanf(f, "%d", &A[i]);
  13.     for (j = 0; j < m; j++) {// citim multimea B
  14.         fscanf(f, "%d", &B[j]);
  15.         for(i = 0; i < n; i++) // verificam daca elementul B[j] aparetine lui A
  16.             if (B[j] == A[i]) {
  17.                 apar[0][i] = 1; // Salvam in indici pozitile comune
  18.                 apar[1][j] = 1;
  19.                 break;
  20.             }
  21.     }
  22.     fclose(f);
  23.     f = fopen("out.txt", "w");
  24.     for (i = 0; i < n; i++)  // afisam reuninunea celor doua multimi
  25.         fprintf(f, "%d ", A[i]); // afisam prima data toate elementele din A
  26.     for (j = 0; j < m; j++) // Acum afisam elementele care sunt in B si nu in A
  27.         if (!apar[1][j])
  28.             fprintf(f, "%d ", B[j]);
  29.     fprintf(f, "\n");
  30.     for (i = 0; i < n; i++)  // afiam elementele comune dintr-o multime
  31.         if(apar[0][i])
  32.         fprintf(f, "%d ", A[i]);
  33.     fprintf(f, "\n");
  34.     for (i = 0; i < n; i++)  // A- B nu luam elemntele din A care se afla in B
  35.         if (!apar[0][i])
  36.             fprintf(f, "%d ", A[i]);
  37.     fprintf(f, "\n");
  38.     for (j = 0; j < m; j++) // Acum afisam elementele care sunt in B si nu in A
  39.         if (!apar[1][j])
  40.             fprintf(f, "%d ", B[j]);
  41.     system("pause");
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment