Я совершенно новый для переполнения стека, поэтому спасибо всем вам за терпение, помогая мне в решении моей проблемы. Я пишу программу на C++, которая реализует сортировку вставки, сортируя числа из .txt-файла. Он принимает файл, показывает содержимое и затем запрашивает у пользователя, хотят ли они сортировать номера. Когда я нажимаю «y», он должен инициировать алгоритм сортировки в моем коде. Однако сейчас все, что он делает, - это компиляция. Любые советы высоко ценится.Вставка Инициирование сортировки
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//Read file input and display contents
ifstream& readfile(ifstream& file)
{
string line;
if (getline(file, line))
{
cout << line;
}
return file;
}
int main()
{
string fileName, line, r;
int n, i, j, k, temp;
int a[n];
ifstream fs;
cout << "enter file: ";
cin >> fileName;
ifstream file(fileName);
if (file.is_open())
{
while (readfile(file))
{
}
}
cout << endl << endl << "Sort File? y or n? ";
cin >> r;
if (r == "y")
{
for (i = 0; i < n; i++)
{
cin >> a[i];
}
for (i = 1; i < n; i++)
{
for (j = i; j >= 1; j--)
{
if (a[j] < a[j - 1])
{
temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
else
{
break;
}
}
}
for (k = 0; k < n; k++)
{
cout << a[k] << endl;
}
}
else
{
cout << endl << "error" << endl;
}
cin.get();
return 0;
}
Вы должны установить 'n' должным образом перед' int a [n]; ' – MikeCAT
@MikeCAT VLA arent standard C++ в любом случае. –
'Когда я нажимаю« y », он должен инициировать алгоритм сортировки в моем коде. Однако сейчас все, что он делает, - это компиляция. Любые советы очень ценятся. «Я не уверен, что ваша проблема ясна. когда вы компилируете свою программу (отличная от запуска результирующей программы), вы получаете какие-либо ошибки или действительно ли «завершаете компиляцию»? Когда вы запускаете свою программу после ее компиляции, что происходит? Есть ли ошибки? Разве это просто заканчивается, ничего не делая? – Steve