
ORDENAR NUMEROS CON SOLO CICLO WHILE
Publicado por Diego (2 intervenciones) el 15/07/2022 03:12:41

ejem2
3, 1, 11, 7
3 medio 1 y 7 medio 2
SOLO WHILE, SWITCH, IF-ELSE.
Valora esta pregunta


0
#include <iostream>
using namespace std;
void ordenar(int v[], int n);
int main()
{
int sz;
do {
cout << endl << "Cantidad de numeros: ";
cin >> sz;
if (sz % 2 == 0)
break;
cout << endl << "HA DE SER UN NUMERO PAR" << endl;
} while (true);
int v[sz];
for (int i = 0; i < sz; i++)
{
cout << "Numero " << i + 1 << "/" << sz << ": ";
cin >> v[i];
}
ordenar(v, sz);
cout << endl << "Vector Ordenado: ";
for (int i = 0; i < sz; i++)
cout << v[i] << " ";
int medio = sz / 2;
cout << endl << endl;
cout << "Medio 1: " << v[medio - 1] << endl;
cout << "Medio 2: " << v[medio] << endl;
return 0;
}
void ordenar(int v[], int n)
{
int valor;
int j;
for (int i = 1; i < n; i++)
{
valor = v[i];
j = i;
while (j > 0 && valor < v[j-1])
{
v[j] = v[j-1];
j--;
}
v[j] = valor;
}
}