Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2018, 02:30   #1
InFlames65
Новичок
Джуниор
 
Регистрация: 25.06.2018
Сообщений: 1
По умолчанию Комментараий к коду

Задача
Создать в редакторе текстовый файл, внести в него 10 строк произвольного текста. Разработать программу, которая подсчитывает количество цифр, встречающихся в каждой строке, и записывает полученные значения в другой файл в конце строке.
Сам код.
Единственное, что не могу разобраться, когда он считывает количество цифр и когда он их сохраняет в файл. Прошу помочь закомментируйте, кто как понимает.
Код:
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
const int ValueOfString = 10;

ofstream Writer;

Writer.open("D:\\Test\\in.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("D:\\Test\\in.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("D:\\Test\\in2.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;
}
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 25.06.2018 в 10:03.
InFlames65 вне форума Ответить с цитированием
Старый 25.06.2018, 07:26   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Тут считает цифры (при этом нагло игнорируя ноль, который вообще-то пока ещё тоже цифра):

Цитата:
Сообщение от InFlames65 Посмотреть сообщение
Код:
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++;
}
А тут выводит в файл:


Цитата:
Сообщение от InFlames65 Посмотреть сообщение
Код:
ofstream Writer2;
Writer2.open("D:\\Test\\in2.txt", ios::app);
Writer « "\n";
for (int k = 0; k < ValueOfString; k++)
Writer2 « "\nВ " « k + 1 « " строке: " « NumInStr[k] « " цифр";
Writer2.close();
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
коментарии к коду С++ 7Sky Помощь студентам 3 29.03.2015 04:42
Вопрос по коду Dmitri446 Помощь студентам 0 30.10.2014 12:26
Вопросы по коду cherepushka Microsoft Office Excel 1 28.02.2012 22:06
комментарии к коду *Alex* Помощь студентам 0 07.05.2010 10:46
описание к коду! vetalij Общие вопросы C/C++ 3 02.03.2010 01:38