Доброе утро. Задача: написать прогу, которая считывает текст из файла и выводит на экран только строки, не содержащие двузначных чисел. Написать то написал, все работает, но не выводит строки :( Можете помочь с выводом?
#include "vector"
#include "fstream"
#include "iostream"
#include "string"
using namespace std;
string chislo;
string cifra;
int j;
int main(int argc, char* argv[])
{
vector<string> str1;
setlocale(LC_ALL, "Rus");
cout << "Введите свое название файла типа name.xxx: ";
string fileName;
cin >> fileName;
ifstream in(fileName.c_str());
if (!in.is_open())
{
cout << "Такой файл не найден в корневой папке программы!" << endl;
system("pause");
return 0;
}
cout << "Файл открыт!" << endl;
cout << endl;
string str;
string temp;
cout << "Исходный текст" << endl;
cout << "=================" << endl;
while (!in.eof()) {
str = "";
getline(in, str);
cout << str << endl;
}
in.clear();
in.seekg(0);
cout << "Отредактированный текст" << endl;
cout << "=================" << endl;
//Считываем числа в массив
while (!in.eof())
{
in >> cifra;
str1.push_back(chislo);
}
//Проверяем текст на числа
for (int i = 0; i < str1.size(); i++)
{
for (int i = 0; str[i] != '\0'; ++i)
if (isdigit(str[i]))
{
for (int j = i + 1; str[j] != '\0' && isdigit(str[j]); ++j);
if (j - i == 2)
{
cout << str << endl;
}
i = j;
}
}
return 0;
}
while (!in.eof())?... По делу - дайте точное определения, что вы ищете. Это должно быть отдельное слово из двух цифр? или просто 2 цифры подряд?aa12dd,aa 12, dd,135+12=147? Как формально определяется наличие двузначного числа? От этого же зависит и решение... – Harry Jun 15 '20 at 06:38