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

13. 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 negative a primului vector și, respectiv, toate elementele pozitive a celui de al doilea vector.
Program in C
Dau coroana!!!


alexmis1311: Cu alocare dinamica de memorie?
Najinn: da

Răspunsuri la întrebare

Răspuns de alexmis1311
1

#include <stdio.h>

#include <stdlib.h>

int main()

{

int m = 0, n = 0, size = 0, temp;

int* vecC = NULL;

printf("Dati dimensiunea primului vector: ");

scanf("%d", &m);

int* vecA = (int*)malloc(m * sizeof(int));

printf("\nDati elementele: ");

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

{

 scanf("%d", &temp);

 vecA[i] = temp;

 if (temp < 0)

 {

  size++;

  vecC = (int*)realloc(vecC, size * sizeof(int));

  vecC[size - 1] = temp;

 }

}

printf("\nDati dimensiunea celui de-al doilea vector: ");

scanf("%d", &n);

int* vecB = (int*)malloc(n * sizeof(int));

printf("\nDati elementele: ");

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

{

 scanf("%d", &temp);

 vecA[i] = temp;

 if (temp >= 0)

 {

  size++;

  vecC = (int*)realloc(vecC, size * sizeof(int));

  vecC[size - 1] = temp;

 }

}

printf("\nElementele celui de-al treilea vector sunt: ");

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

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

free(vecA); free(vecB); free(vecC);

return 0;

}

Anexe:
Alte întrebări interesante