
Вопрос задан 23.10.2023 в 09:30.
Предмет Информатика.
Спрашивает Картовенко Лена.
Создать в редакторе текстовый файл, внести в него 10 строк произвольного текста. Разработать
программу, которая подсчитывает количество цифр, встречающихся в каждой строке, и записывает полученные значения в другой файл в конце строке. Написать на С++

Ответы на вопрос

Отвечает Лекомцев Влад.
//Если надумаешь менять расположение файла, то не забудь поменять его также в коде
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int ValueOfString = 10;
ofstream Writer;
Writer.open("C:\\Test\\First.txt", ios::out);
Writer « "Stroka1" « "\n";
Writer « "Stroka12" « "\n";
Writer « "Stroka133" « "\n";
Writer « "Stroka1444" « "\n";
Writer « "Stroka155" « "\n";
Writer « "Stroka16" « "\n";
Writer « "Stroka1" « "\n";
Writer « "Stroka17" « "\n";
Writer « "Stroka188" « "\n";
Writer « "Stroka1999" « "\n";
Writer.close();
ifstream Reader;
Reader.open("C:\\Test\\First.txt");
string Str[ValueOfString];
int NumInStr[ValueOfString] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int counter = 0;
while (!Reader.eof())
{
Reader » Str[counter];
counter++;
}
Reader.close();
string Tmp;
int counter2 = 0;
for (int i = 0; i < ValueOfString; i++)
{
Tmp = Str[i];
for (int j = 0; j < Tmp.length(); j++)
{
if (Tmp[j] == '1' || Tmp[j] == '2' || Tmp[j] == '3' || Tmp[j] == '4' || Tmp[j] == '5' || Tmp[j] == '6' || Tmp[j] == '7' || Tmp[j] == '8' || Tmp[j] == '9')
counter2++;
}
NumInStr[i] = counter2;
counter2 = 0;
}
ofstream Writer2;
Writer2.open("C:\\Test\\Second.txt", ios::app);
Writer « "\n";
for (int k = 0; k < ValueOfString; k++)
Writer2 « "\nВ " « k + 1 « " строке: " « NumInStr[k] « " цифр";
Writer2.close();
cout « "Operation successfully completed!" « endl « endl;
return 0;
}
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
const int ValueOfString = 10;
ofstream Writer;
Writer.open("C:\\Test\\First.txt", ios::out);
Writer « "Stroka1" « "\n";
Writer « "Stroka12" « "\n";
Writer « "Stroka133" « "\n";
Writer « "Stroka1444" « "\n";
Writer « "Stroka155" « "\n";
Writer « "Stroka16" « "\n";
Writer « "Stroka1" « "\n";
Writer « "Stroka17" « "\n";
Writer « "Stroka188" « "\n";
Writer « "Stroka1999" « "\n";
Writer.close();
ifstream Reader;
Reader.open("C:\\Test\\First.txt");
string Str[ValueOfString];
int NumInStr[ValueOfString] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
int counter = 0;
while (!Reader.eof())
{
Reader » Str[counter];
counter++;
}
Reader.close();
string Tmp;
int counter2 = 0;
for (int i = 0; i < ValueOfString; i++)
{
Tmp = Str[i];
for (int j = 0; j < Tmp.length(); j++)
{
if (Tmp[j] == '1' || Tmp[j] == '2' || Tmp[j] == '3' || Tmp[j] == '4' || Tmp[j] == '5' || Tmp[j] == '6' || Tmp[j] == '7' || Tmp[j] == '8' || Tmp[j] == '9')
counter2++;
}
NumInStr[i] = counter2;
counter2 = 0;
}
ofstream Writer2;
Writer2.open("C:\\Test\\Second.txt", ios::app);
Writer « "\n";
for (int k = 0; k < ValueOfString; k++)
Writer2 « "\nВ " « k + 1 « " строке: " « NumInStr[k] « " цифр";
Writer2.close();
cout « "Operation successfully completed!" « endl « endl;
return 0;
}








Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Для выполнения этой задачи на C++ вам потребуется открыть файл с текстом, прочитать каждую строку, подсчитать количество цифр в этой строке и записать результаты в другой файл. Вот пример программы, которая выполняет это:
cpp#include <iostream>
#include <fstream>
#include <string>
int countDigits(const std::string& line) {
int count = 0;
for (char c : line) {
if (std::isdigit(c)) {
count++;
}
}
return count;
}
int main() {
std::ifstream inputFile("input.txt");
std::ofstream outputFile("output.txt");
if (!inputFile.is_open()) {
std::cerr << "Не удалось открыть файл input.txt" << std::endl;
return 1;
}
if (!outputFile.is_open()) {
std::cerr << "Не удалось открыть файл output.txt" << std::endl;
return 1;
}
std::string line;
while (std::getline(inputFile, line)) {
int digitCount = countDigits(line);
outputFile << line << " - Количество цифр: " << digitCount << std::endl;
}
inputFile.close();
outputFile.close();
std::cout << "Обработка завершена. Результаты записаны в файл output.txt." << std::endl;
return 0;
}
В этом коде мы используем ifstream
для чтения из файла "input.txt" и ofstream
для записи в файл "output.txt". Мы читаем каждую строку из входного файла, вызываем функцию countDigits
для подсчета цифр в строке и записываем результаты в выходной файл в формате "строка - Количество цифр: число".


Похожие вопросы
Топ вопросов за вчера в категории Информатика

Информатика 572

Информатика 1113

Информатика 10

Информатика 32

Информатика 16

Информатика 578

Информатика 21
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili