Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 4
1

Найти числа в текстовом файле и посчитать их сумму

28.05.2011, 23:05. Показов 2859. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Числа могут быть вещественными и отрицательными.
Запись в файле text.txt, например, такая: "4ghfh56fghgfh-3oo3.14"
У меня считает только положительные целые.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <conio.h>
 
using namespace std;
int main()
{
    ifstream inputFile;
    char input[81];
    char input2[81];
    char input3[81];
    char test[] = "0123456789";
    char *ptr;
    int sum = 0;
    inputFile.open("C:\\text.txt");
    if(!inputFile){
        cout<<"File error\n";
    }
    else{
        while(!inputFile.eof()){
             inputFile.getline(input,81);
             ptr = strpbrk (input, test);
        while(ptr != NULL ){
            //cout<<*ptr<<" ";
            sum += atoi(ptr);
            //cout<<"sum: "<<sum<<" ";
            ptr = strpbrk(ptr+1,test);
        }
    }
        cout<<"sum:"<<sum;
  }
    inputFile.close();
    getch();
    return 0;
}
Не знаю как добавить дробные и отрицательные.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.05.2011, 23:05
Ответы с готовыми решениями:

Подсчитать сумму чисел встреченных в текстовом файле (числа могут быть вещественными и отрицательными)
Здравствуйте! Очень прошу помогите исправить код программы!!! задание такое:Подсчитать сумму...

Посчитать количество комбинаций определенных букв в текстовом файле
Доброй ночи всем, с си знаком первый день, посему прошу сильно не пинать)) Дано: Посчитать...

Посчитать, сколько в файле текстовом строчек, символов и слов
Ребята нужна ваша помощь я написал код а у меня. Непалу чается cделать как надо не знаю что еще...

Найти числа в интервале и посчитать их сумму
Изначальное задание : Человек должен вводить два числа типа N и M , и в интервале чисел от 0 до...

7
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
28.05.2011, 23:10 2
проверяй символ перед числом. если - то оьрицательное. хотя я думаю это и так понятно
0
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 4
28.05.2011, 23:38  [ТС] 3
Реализовать не получатся
0
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
28.05.2011, 23:54 4
кинь кусок где определянтся число ли данный символ и происходит сложение. мне проблематияно это сделать.
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
29.05.2011, 02:11 5
С использованием STL
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <vector>
#include <iostream>
#include <fstream>
#include <iterator>
#include <sstream>
 
using namespace std;
 
bool IsOdd (int i) { return ((i!='-')&&(i!='.')&&(!isdigit(i)));}
 
 
 
int main() {
 
 double x, sum= 0;
 
 ifstream f ("ch.txt");
 string s;
 stringstream ss;
 
 //ПЕрегоняем файл построчно  встроку
 while(getline(f, s)) {
 
  //Заменяем всё, что не цифра не точка и не минус на пробел
  replace_if (s.begin(), s.end(), IsOdd, 32);
 
  //Теперь всю эту херь перегоняем в строковый поток
  copy(s.begin(), s.end(), ostream_iterator<char>(ss, ""));
 
  //А из строкового потока в сумму
  while (ss.good()) {  
   ss>> x; 
   sum+= x; 
  }
 } 
 
 printf ("sum= %f\n", sum);
 
 
 getchar ();
 return 0;
}
1
0 / 0 / 0
Регистрация: 28.05.2011
Сообщений: 4
29.05.2011, 16:21  [ТС] 6
Почему не работает replace_if ?
Я использую Microsoft Visual Studio 2010 Express.

error C3861: 'replace_if': identifier not found
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
29.05.2011, 18:08 7
ДОбавь в начало #include <algorithm>
И сюда заглядывай, набираешь в поисковой строке replace_if,потом идёшь по первой ссылке и попадаешь на эту страницу, видишь пример. На него и ориентируешься.
1
1 / 1 / 0
Регистрация: 30.05.2011
Сообщений: 14
30.05.2011, 16:18 8
Может конечно глупость предлогаю, но не легче проверять (Если не буква то добавить в массив) а потом просто просумировать элементы массива =)
0
30.05.2011, 16:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2011, 16:18
Помогаю со студенческими работами здесь

Программа подсчёта числа слов в текстовом файле
Программа подсчёта числа слов в текстовом файле. Результат подсчёта записываются во второй...

Посчитать сумму всех чисел имеющихся в файле
В файле есть некий набор чисел и слов. Нужно посчитать сумму всех чисел. Как это можно реализовать?...

Найти слово в текстовом файле
добрый день! как организовать поиск слова while в текстовом файле на СИ? Есть такой код на с++,...

Найти в текстовом файле слова-палиндромы
Возникло пару вопросов. Имеется задача, находит в текстовом файле слова-палиндромы. #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru