ifstream file3("text.txt");
while(! file3.eof())
{
file3 >> A;
if(A>=48 && A<=57)
{
unget();
file3 >> numb;
sum+=numb;
}
}
нужно подсчитать суму всех цифер в файле
Другие языки программирования и технологии
Как при считывании с файла даних, можно было бы вернуться на символ назад. тоесть один и тотже символ считать два раза
>unget(); не работает
Конечно, не работает. Если ты выйдешь на улицу и крикнешь "стой", тоже вряд ли кто-то остановится, если не обратишься к кому-то конкретному:
file3.unget();
Конечно, не работает. Если ты выйдешь на улицу и крикнешь "стой", тоже вряд ли кто-то остановится, если не обратишься к кому-то конкретному:
file3.unget();
ifstream::putback(char c)
ifstream::unget()
Например:
file3.putback(A);
> нужно подсчитать суму всех цифр в файле
для этого такие функции не требуются:
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int main() {
ifstream in("in.txt");
int s = 0;
char c;
while (in >> c) if ( isdigit(c) ) s += c - '0';
cout << s << endl;
return 0;
}
с помощью unget можно подсчитать сумму чисел в файле с произвольным текстом:
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int main() {
ifstream in("in.txt");
int s = 0, n;
char c;
while (in >> c) {
if ( isdigit(c) ) {
in.unget();
in >> n;
s += n;
}
}
cout << s << endl;
return 0;
}
Если в файле только числа, то достаточно опять простой программы:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream in("in.txt");
int s = 0, n;
while (in >> n) s += n;
cout << s << endl;
return 0;
}
ifstream::unget()
Например:
file3.putback(A);
> нужно подсчитать суму всех цифр в файле
для этого такие функции не требуются:
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int main() {
ifstream in("in.txt");
int s = 0;
char c;
while (in >> c) if ( isdigit(c) ) s += c - '0';
cout << s << endl;
return 0;
}
с помощью unget можно подсчитать сумму чисел в файле с произвольным текстом:
#include <iostream>
#include <fstream>
#include <cctype>
using namespace std;
int main() {
ifstream in("in.txt");
int s = 0, n;
char c;
while (in >> c) {
if ( isdigit(c) ) {
in.unget();
in >> n;
s += n;
}
}
cout << s << endl;
return 0;
}
Если в файле только числа, то достаточно опять простой программы:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream in("in.txt");
int s = 0, n;
while (in >> n) s += n;
cout << s << endl;
return 0;
}
ну в питоне return 2 для функции.. . а в этой вашей жути извините не знаю=) но все равно.. . похожим методом
Похожие вопросы
- потоковое считывание столбцов из файла с++
- Написать программу которая подсчитывает частоту встречаемости символов в заданном текстовом файле С++
- Считывание данных из текстового файла С++
- Имеется 1500 строк с названиями файлов в формате txt, какой программой можно определить строки где символов больше?
- При открытии ехе файла в блокноте смесь букв и символов. Какой символ что означает.
- ПОМОГИТЕЕЕЕ!!! По глупости изменила способ открытия файла с разрешением sys, как вернутьвсе назад???
- считать большой файл.
- Как занести данные считанные из файла в массив на языке си?
- Какие символы запрещены в именах файлов для unix-подобных ОС? Спасибо.
- Есть текстовый файл для программы-теста. вопрос в нем - не понятные символы. можно расшифровать?