#include <iostream>
#include "leearreglo.h"
using namespace std;
#define largo 50
void insercionBinaria(int A[], int n) {
int i, j, aux, izq, der, m;
for (i = 1; i < n; i++) {
aux = A[i];
izq = 0;
der = i - 1;
while (izq <= der) {
m = (izq + der) / 2;
if (aux < A[m])
der = m - 1;
else
izq = m + 1;
}
j = i - 1;
while (j >= izq) {
A[j + 1] = A[j];
j = j - 1;
}
A[izq] = aux;
}
}
int main() {
int A[largo], n;
do {
cout << "Cantidad de numeros a ingresar: ";
cin >> n;
if (n <= 0 || n > largo)
cout << "Debe ingresar un valor mayor a 0 y menor a " << largo << endl;
} while (n <= 0 || n > largo);
leeCadena(n, A);
insercionBinaria(A, n);
muestraCadena(n, A);
return 0;
}
#include <iostream>
using namespace std;
void leeCadena(int cant, int n[]) {
int i;
for (i = 0; i < cant; i++) {
cout << "Ingresa numero " << i + 1 << ": ";
cin >> n[i];
}
}
void muestraCadena(int cant, int n[]) {
int i;
for (i = 0; i < cant; i++) {
cout << n[i] << endl;
}
}
int main() {
// Código principal aquí
return 0;
}
Relacionado
//corregido
#include
using namespace std;
#define largo 50
void insercionBinaria(int A[],int n)
{
int i,j,aux,izq,der,m;
for(i=1;i<n;i++)
{
aux = A[i];
izq=0;
der=i-1;
while(izq<=der)
{
m=((izq+der)/2);
if (aux=izq)
{
A[j+1]=A[j];
j=j-1;
}
A[izq]=aux;
}
}
void leeCadena(int cant,int n[])
{
int i;
for(i=0;i<cant;i++)
{
cout<<"Ingresa numero "<<i+1<>n[i];
}
}
void muestraCadena(int cant,int n[])
{
int i;
for(i=0;i<cant;i++)
{
cout<<n[i]<<endl;
}
}
int main ()
{
int A[largo],n;
do{
cout<>n;
if(nlargo)
cout< a 0 y < a "<<largo<<endl;
}while(nlargo);
leeCadena(n,A);
insercionBinaria(A,n);
muestraCadena(n,A);
}
No me sirvió, me pide una librería que obviamente no tengo
putooooo pásame la librería hijo de tu putisima madre
Me funciono excelente. Gracias!
el ejercicio si esta bueno ??
esta sencillamente exelente gracias me ayudo mucho 😀
esa vaina esta mala
Crees que puedas explicar este metodo pero usando listas dobles, ese me causa muchos dolores de cabeza.
Gracias!!
que compilador usaste???
funciona muy bien
excelente