Untitled

 avatar
unknown
plain_text
4 years ago
2.1 kB
4
Indexable
//10. Intercalar dos vectores A y B clasificados ascendentemente de tamaño n y m respectivamente en uno solo de tal forma que el resultado sea un vector clasificado.

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
    using namespace std;
void leerVector(float vec[], int n)
{
    int i;
    for (i = 0; i < n; i++)
    {
        cout << "Vec[" << i << "] : ";
        cin >> vec[i];
    }
}
void imprimaVector(float vec[], int n)
{
    int i;
    cout << endl
         << "El vector es --->>" << endl;
    for (i = 0; i < n; i++)
    {
        cout << vec[i] << "   ";
    }
}
void Ordenasc(float vec[], int n)
{
    float aux;
    for (int i = 0; i < n; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            if (vec[i] < vec[j])
            {
                aux = vec[i];
                vec[i] = vec[j];
                vec[j] = aux;
            }
        }
    }
}
void Intercalar(float vec[], float vec2[], float vec3[], int n, int m)
{
    int i = 0, j = 0, k = 0;
    while (i < n && j < m)
    {
        if (vec[i] <= vec2[j])
        {
            vec3[k] = vec[i];
            i++;
        }
        else
        {
            vec3[k] = vec2[j];
            j++;
        }
        k++;
    }

    while (i < n)
    {
        vec3[k] = vec[i];
        i++;
        k++;
    }

    while (j < m)
    {
        vec3[k] = vec2[j];
        j++;
        k++;
    }
}
int main()
{
    int n = 0, m = 0, mn = 100;
    float vec[100], vec2[100], vec3[100];
    cout << "\nTamaño del vector a: ";
    cin >> n;
    leerVector(vec, n);
    imprimaVector(vec, n);
    Ordenasc(vec, n);
    cout << "El vector ordenado seria: " << endl;
    imprimaVector(vec, n);
    cout << "\nTamaño del vector b: ";
    cin >> m;
    leerVector(vec2, m);
    imprimaVector(vec2, m);
    Ordenasc(vec2, m);
    cout << "El vector ordenado seria: " << endl;
    imprimaVector(vec2, m);
    Intercalar(vec, vec2, vec3, n, m);
    mn = n + m;
    imprimaVector(vec3, mn);
    return 0;
}
Editor is loading...