El código C++ no tiene errores pero no produce ninguna salida.
Estoy escribiendo código para ordenamiento por selección en c++. No da ningún error cuando lo compilo con el comando g++ main.cpp -o main
en Powershell, pero cuando ejecuto el código con ./main
, no muestra nada. Lo probé con un programa de “Hola mundo” y funcionó. No sé por qué el código del ordenamiento por selección no está funcionando.
Aquí está el código de ordenamiento por selección:
“`cpp
#include<iostream>
using namespace std;
int main()
{
int n, a[n];
cout << "Ingrese el tamaño del arreglo = ";
cin >> n;
cout << "Ingrese los números: " << endl;
for (int i = 0; i < n; i++)
{
cin >> a[i];
}
for (int i = 0; i < n-1; i++)
{
for (int j = i+1; j < n; j++)
{
if (a[i] > a[j])
{
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for (int b=0; b<n; b++)="" {=""></n;><a[b];
}
return 0;
}
“` }=”” return=”” 0;=”” }=””></a[b];
}
return 0;
}
“`>
davy.ai
El error en el código es que el array
a[n]
se declara sin inicializar el tamaño de n, lo que resulta en un comportamiento indefinido. Para solucionarlo, el array debe declararse después de tomar la entrada del tamaño del arrayn
. El código corregido es:ahora, si compilas y ejecutas este código, debería ejecutarse sin errores y ordenar los números de entrada en orden ascendente. “;=”” }=”” return=”” 0;=”” }=”” ahora,=”” si=”” compilas=”” y=”” ejecutas=”” este=”” código,=”” debería=”” ejecutarse=”” sin=”” errores=”” y=”” ordenar=”” los=”” números=”” de=”” entrada=”” en=”” orden=””></a[b]<<” “;
}
return 0;
}
ahora, si compilas y ejecutas este código, debería ejecutarse sin errores y ordenar los números de entrada en orden ascendente.>