Проблема может быть связана с тем, что программа не может найти файл "laba.txt" в текущей директории. Убедитесь, что файл "laba.txt" действительно находится в той же директории, что и программа, и что у программы есть права на чтение этого файла. Если файл находится в другой директории, убедитесь, что вы указали правильный путь к файлу в коде программы.
Ответ нейросети. Учись потихоньку сам работать с этим, очень помогает. Сейчас не могу разобрать программу сама, попробуй мой ответ или задай вопрос GPT очень помогает в учёбе.
Кто вас учит так писать программы? Где у вас в программе обработка ошибок?
Ваш случай - это яркий пример, когда программист сам себе злобный Буратина и из-за своей лени или неумения вынужден скакать вокруг программы с бубном и пытаться понять, а почему это не работает. Вместо того, чтобы это за него сделала программа.
Вы утверждаете, что файл находится в том же каталоге, что и программа, но было бы неплохо удостоверится, что это действительно так. Для этого есть например функция char *getcwd(char *buf, size_t size); которая в нормальных системах подключается через unistd.h а в винде, скорее всего, будет в io.h
Эта функция записывает в буфер buf размером size текущий рабочий каталог программы. Организуйте его вывод в терминал, дабы убедиться, что ваше представление о рабочем каталоге программы совпадает с реальным положением вещей.
Далее, использование конструкций вида std::ifstream inputFile("laba.txt"); затрудняет обработку ошибок. Лучше создать пустой объект, открыть файл при помощи open() и проверить факт открытия при помощи is_open()
Чтение из файла конструкцией вида while (inputFile >> element) {
array.push_back(element);
} также нельзя назвать удачным решением. Тут, опять же, нет никакой обработки ошибок. Когда ваш файл начнет открываться, рекомендую попробовать внести в его середину какой-нибудь мусор и посмотреть, как подобную ситуацию обрабатывает ваша чудесная конструкция.
И, наконец, вишенка на торте. Использование в функции system команд без указания полного пути (особенно в DOS/Windows) открывает возможность атакующему выполнить произвольный код в системе от имени пользователя, запустившего уязвимую программу.
>сам файл в той же директории, что и программа.
Выведи через system текущую директорию и убедись, что предположение верно system("echo %cd%");
Обрати внимание, что при запуске через отладчик студии файл действительно должен быть там где программа (т.е. НЕ там, где находится исполняемый файл, а там, где файл с исходником), а вот при запуске через проводник - в другом месте, рядом с бинарником.
Учти, что при запуске через какой-нибудь ярлык или подобное никто НЕ ГАРАНТИРУЕТ, где будет находится текущая директория, поэтому файлы данных для чтения из комплекта программы всегда вычисляются относительно пути от папки с бинарником, который берется из массива argv или иным путём.