Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 14

сумма чисел встречающихся в строке

28.05.2012, 19:28. Показов 1985. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер, уважаемые форумчане!
Просьба помощи в написании программы на С++
нужно написать программу, которая подсчитывает сумму всех чисел в строке.

сам написал только:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cstring>
#include <cctype>
 
using namespace std;
 
int main()
{
char* st = "I born in 1993 year. Now me 19.";
cout<<"Входная строка: "<<st<<endl;
return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2012, 19:28
Ответы с готовыми решениями:

Найти суму чисел встречающихся в строке
Найти суму чисел встречающихся в строке: &quot;Текст: 2013 букв 150 или 350&quot;

Подсчитайте количество чисел, встречающихся в первой строке, но не встречающихся во второй
Ограничение по времени работы программы: 1 секунда В текстовом файле две строки. В каждой строке записаны какие-то числа через пробел....

Найти сумму чисел (положительных и отрицательных), встречающихся в строке
Дана строка символов. Найти сумму цифр(Положительные и отрицательные), встречающихся в строке.Си

10
 Аватар для Andrey.K
348 / 269 / 128
Регистрация: 14.11.2010
Сообщений: 482
28.05.2012, 19:38
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    char s[]="I born in 1993 year. Now me 19.";
    int size=strlen(s),count=0;
    for(int i=0;i<size;i++)
    {
        if(s[i]>47 && s[i]<58) count++;
    }
    cout<<"Answer is "<<count<<endl;
    getch();
    return 0;
}
1
 Аватар для igorrr37
2870 / 2017 / 991
Регистрация: 21.12.2010
Сообщений: 3,728
Записей в блоге: 15
28.05.2012, 19:45
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <algorithm>
#include <iostream>
#include <string>
#include <sstream>
#include <cctype>
#include <iterator>
 
int main()
{
    std::string s("I was born in 1993. Now I am 19.");
    std::replace_if(s.begin(), s.end(), [](char c){return !std::isdigit(c);}, ' ');
    std::istringstream iss(s);
    std::cout << std::accumulate((std::istream_iterator<std::size_t>(iss)), std::istream_iterator<std::size_t>(), 0) << std::endl;
    return 0;
}
0
 Аватар для \\max
4 / 4 / 0
Регистрация: 19.05.2012
Сообщений: 19
28.05.2012, 19:50
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int sum = 0;
    char st[] = "I born in 1993 year. Now me 19.";
    int m;
    m = strlen(st);
    for(int i=0;i < m;i++)
    {
        if(isdigit(st[i])) sum += st[i] -48 ;
    }
    printf("%d",sum);
    getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 14
28.05.2012, 19:58  [ТС]
Цитата Сообщение от Andrey.K Посмотреть сообщение
if(s[i]>47 && s[i]<58) count++;
почему именно > 47 и < 58 ?
программа подсчитывает результат и в итоге получается 16.

Добавлено через 2 минуты
Цитата Сообщение от \\max Посмотреть сообщение
m = strlen(st);
Dev-C++ ругается на эту строчку...
0
 Аватар для Andrey.K
348 / 269 / 128
Регистрация: 14.11.2010
Сообщений: 482
28.05.2012, 19:59
Цитата Сообщение от kavss Посмотреть сообщение
почему именно > 47 и < 58 ?
программа подсчитывает результат и в итоге получается 16.
По твоему предложению у меня ответ 6 как и дожно быть. Программа работает правильно. А там где сравнивается в диапазоне , так это в таблце ASCII значения цифр от 0 до 9.
Я компили на VS2010, и проверил сейчас на DevC++ всё работает. Перепроверьте или вы всё правильно сделали.
0
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 14
28.05.2012, 20:04  [ТС]
Цитата Сообщение от Andrey.K Посмотреть сообщение
По твоему предложению у меня ответ 6 как и дожно быть. Программа работает правильно. А там где сравнивается в диапазоне , так это в таблце ASCII значения цифр от 0 до 9.
Я компили на VS2010, и проверил сейчас на DevC++ всё работает. Перепроверьте или вы всё правильно сделали.
про диапазон понял.
по счет программы - нужно подсчитать не количество чисел, а сумму этих чисел --- 1993 + 19.
0
 Аватар для Andrey.K
348 / 269 / 128
Регистрация: 14.11.2010
Сообщений: 482
28.05.2012, 20:11
Цитата Сообщение от kavss Посмотреть сообщение
про диапазон понял.
по счет программы - нужно подсчитать не количество чисел, а сумму этих чисел --- 1993 + 19.
Сорри, не так задание понял
0
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 14
28.05.2012, 20:12  [ТС]
Цитата Сообщение от \\max Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
int main()
{
    int sum = 0;
    char st[] = "I born in 1993 year. Now me 19.";
    int m;
    m = strlen(st);
    for(int i=0;i < m;i++)
    {
        if(isdigit(st[i])) sum += st[i] -48 ;
    }
    printf("%d",sum);
    getch();
    return 0;
}
программа работает, компилил на Dev-C++ , просто до этого не была подключена библиотека iostream. но только мне нужно подсчитать не сумму цифр, а сумма чисел в строке.
0
 Аватар для \\max
4 / 4 / 0
Регистрация: 19.05.2012
Сообщений: 19
28.05.2012, 21:20
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
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <cstring>
#include <cctype>
 
using namespace std;
 
int main()
{
    int sum = 0;
    int number = 0;
    int k = 0;
    char st[] = "I born in 1993 year. Now me 19.";
    int m;
    m = strlen(st);
    for(int i = m; i > 0 ; i--)
    {
        if(isdigit(st[i])) 
        {   
            number = (st[i]-48);
            for(k = 1; k < m ;k++)
            {
                if(isdigit(st[i-1]))
                {
                    number += (st[i-1]-48)*(pow(10,k));
                    i--;
                }
            }
            sum += number;          
        }   
    }
    printf("%d",sum);
    getch();
    return 0;
}
готово)
2
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 14
29.05.2012, 22:15  [ТС]
Отдуши душевно в душу!)
хоть и компилятор ругается:
C:\Documents and Settings\Admin\Мои документы\Безымянный77.cpp In function `int main()': 26 C:\Documents and Settings\Admin\Мои документы\Безымянный77.cpp [Warning] converting to `int' from `double'
но все равно запускает программу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.05.2012, 22:15
Помогаю со студенческими работами здесь

Вставить в строке знак «!» после символов, принадлежащих множеству и встречающихся в строке 2 раза
3)Дана строка и множество символов. Вставить в строке знак «!» после символов, принадлежащих множеству и встречающихся в строке 2 раза.

Сумма чисел в строке
Добрый вечер, В строке могут встречаться цифры и иные символы. Числом будем считать последовательность цифр, которая не может быть...

Сумма чисел в строке
Задана строка, содержащая целые числа и слова, разделенные пробелами (одним или несколькими). Определить сумму целых чисел в строке. ...

Сумма отдельных чисел в строке
Задано случайная строка . Подсчитать сумму отдельных чисел в строке

Сумма всех чисел в строке
Сумма всех чисел в строке. Кто нибудь может это транслировать на C++ #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru