`美好的一天,我正在为学校制定一个程序(简单)。它接收一个包含 200 万个数字的文本文件,然后必须使用冒泡方法对它们进行排序,并且必须创建一个文本文件,其中显示排序的数字以及排序的时间。执行需要一段时间,但我已经完成了所有操作,即使使用 AI,它也没有创建文本文件。有什么想法吗?
#include \<iostream\>
#include \<fstream\>
#include \<vector\>
#include \<ctime\>
using namespace std;
void lectura(vector\<int\>& numeros);
void ordenamientoBurbuja(vector\<int\>& arr);
int main() {
vector\<int\> numeros;
lectura(numeros);
// Ordena todos los números leídos
ordenamientoBurbuja(numeros);
// Crea un archivo y escribe los números ordenados junto con el tiempo de ejecución
ofstream archivoSalida("Numero`your text`sOrdenados.txt");
if (!archivoSalida) {
cout << "Error al crear el archivo de salida." << endl;
exit(1);
}
for (int num : numeros) {
archivoSalida << num << endl;
}
// Calcula el tiempo de ejecución en segundos con dos decimales
double tiempoEjecucion = double(clock()) / CLOCKS_PER_SEC;
archivoSalida << fixed << "Tiempo de ejecución: " << tiempoEjecucion << " segundos" << endl;
archivoSalida.close();
return 0;
}
void lectura(vector\<int\>& numeros) {
ifstream archivo;
int numero;
archivo.open("Numeros.txt", ios::in);
if (!archivo) {
cout << "No se pudo encontrar el archivo :(";
exit(1);
}
while (archivo >> numero) {
numeros.push_back(numero);
cout << "Numero leido: " << numero << endl;
}
archivo.close();
}
`
void ordenamientoBurbuja(vector\<int\>& arr) {
int n = static_cast\<int\>(arr.size()); // Convertir size_t a int
for (int i = 0; i \< n - 1; ++i) {
for (int j = 0; j \< n - i - 1; ++j) {
if (arr\[j\] \> arr\[j + 1\]) {
swap(arr\[j\], arr\[j + 1\]);
}
}
}
}
我尝试 IA、教程并在互联网上阅读。但没有什么用处。
如果你清理代码,它就可以工作。看看这个:
#include <iostream>
#include <fstream>
#include <vector>
#include <ctime>
using namespace std;
void lectura(vector<int>& numeros);
void ordenamientoBurbuja(vector<int>& arr);
int main() {
vector<int> numeros;
lectura(numeros);
// Ordena todos los números leídos
ordenamientoBurbuja(numeros);
// Crea un archivo y escribe los números ordenados junto con el tiempo de ejecución
ofstream archivoSalida("NumerosOrdenados.txt");
if (!archivoSalida) {
cout << "Error al crear el archivo de salida." << endl;
exit(1);
}
for (int num : numeros) {
archivoSalida << num << endl;
}
// Calcula el tiempo de ejecución en segundos con dos decimales
double tiempoEjecucion = double(clock()) / CLOCKS_PER_SEC;
archivoSalida << fixed << "Tiempo de ejecución: " << tiempoEjecucion << " segundos" << endl;
archivoSalida.close();
return 0;
}
void lectura(vector<int>& numeros) {
ifstream archivo;
int numero;
archivo.open("Numeros.txt", ios::in);
if (!archivo) {
cout << "No se pudo encontrar el archivo :(";
exit(1);
}
while (archivo >> numero) {
numeros.push_back(numero);
cout << "Numero leido: " << numero << endl;
}
archivo.close();
}
void ordenamientoBurbuja(vector<int>& arr) {
int n = static_cast<int>(arr.size()); // Convertir size_t a int
for (int i = 0; i < n - 1; ++i) {
for (int j = 0; j < n - i - 1; ++j) {
if (arr[j] > arr[j + 1]) {
swap(arr[j], arr[j + 1]);
}
}
}
}
确保输入文件已存在于目录中。