#include #define MAX 50 int main() { int v1[MAX], v2[MAX], v3[2*MAX], n, m, i, j, k; printf("Entre com o tamanho da primeira sequência\n"); scanf("%d", &n); printf("Entre com a primeira sequência\n"); for(i = 0; i < n; i++) scanf("%d", &v1[i]); printf("Entre com o tamanho da segunda sequência\n"); scanf("%d", &m); printf("Entre com a segunda sequência\n"); for(j = 0; j < m; j++) scanf("%d", &v2[j]); i = 0; /*indice da primeira sequencia (v1)*/ j = 0; /*indice da segunda sequencia (v2) */ k = 0; /*indice da sequencia de saida (v3) */ while(i < n && j < m) { /*pegamos sempre o menor entre v1[i] e v2[j] e colocamos em v[k]*/ if(v1[i] <= v2[j]){ v3[k] = v1[i]; i++; } else { v3[k] = v2[j]; j++; } k++; } /*neste ponto uma das duas sequencias não terminou, basta copiar o que está nela para v3*/ while(i < n) { v3[k] = v1[i]; i++; k++; } while(j < m) { v3[k] = v2[j]; j++; k++; } printf("Intercalação:\n"); for(k = 0; k < n+m; k++) printf("%d ", v3[k]); printf("\n"); return 0; }