Informatică, întrebare adresată de KillerSergiu2696, 8 ani în urmă

Se consideră doi vectori cu câte n și, respectiv, m componente numere întregi. Să se creeze un al treilea vector care va conține toate elementele prime a primului și celui de al doilea vector aranjate în ordine crescătoare.

program in C.

Răspunsuri la întrebare

Răspuns de crow9920
0

Programul în C:

#include <stdio.h>

int main() {

   int n, m;

   int v1[1001], v2[1001], vprime[1001];

   

   scanf("%d", &n);

   for (int i = 0; i < n; i++)

       scanf("%d", &v1[i]);

   scanf("%d", &m);

   for (int i = 0; i < m; i++)

       scanf("%d", &v2[i]);

   int nrprime = 0;

   for (int i = 0; i < n; i++) {

       int prim = 1;

       for (int j = 2; j <= (v1[i] / 2); j++) {

           if (v1[i] % j == 0) {

               prim = 0;

           }

       }

       if (prim == 1 && v1[i] > 1) {

           vprime[nrprime] = v1[i];

           nrprime++;

       }

   }

   for (int i = 0; i < n; i++) {

       int prim = 1;

       for (int j = 2; j <= (v2[i] / 2); j++) {

           if (v2[i] % j == 0) {

               prim = 0;

           }

       }

       if (prim == 1 && v2[i] > 1) {

           vprime[nrprime] = v2[i];

           nrprime++;

       }

   }

   for (int i = 0; i < nrprime - 1; i++) {

       for (int j = i; j < nrprime; j++) {

           if (vprime[i] > vprime[j]) {

               int aux = vprime[i];

               vprime[i] = vprime[j];

               vprime[j] = aux;

           }

       }

   }

   for (int i = 0; i < nrprime; i++) {

       printf("%d ", vprime[i]);

   }

   return 0;

}

Alte întrebări interesante