Untitled
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...