Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- /* Definim un macro ce reprezinta numarul maxim de elemente ale vectorilor. */
- #define MaxN 1003
- int main() {
- int v1[MaxN], v2[MaxN], N1, N2, k, v[2*MaxN], i, j;
- scanf("%d", &N1);
- for(i = 0; i < N1; i++)
- {
- scanf("%d", &v1[i]);
- }
- scanf("%d", &N2);
- for(i = 0; i < N2; i++)
- {
- scanf("%d", &v2[i]);
- }
- /* Parcurge cei doi vectori in paralel si vom adauga elementele in ordine
- * in vectorul v. */
- i = 0;
- j = 0;
- k = 0;
- while(i < N1 && j < N2)
- {
- if(v1[i] < v2[j])
- {
- v[k] = v1[i];
- i++;
- k++;
- }
- else
- {
- v[k] = v2[j];
- j++;
- k++;
- }
- }
- /* Daca lungimile celor doi vectori nu sunt egale inseamna ca intr-unul din ei
- * mai sunt elemente ce nu au fost luate in calcul. Copiem aceste elemente in
- * vectorul de interclasare. */
- if(i == N1)
- {
- while(j < N2)
- {
- v[k] = v2[j];
- j++;
- k++;
- }
- }
- if(j == N2)
- {
- while(i < N1)
- {
- v[k] = v1[i];
- i++;
- k++;
- }
- }
- for(i = 0; i < k; i++)
- {
- printf("%d ", v[i]);
- }
- printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment