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

Функция которая ищет сумму символов строки выдает ноль

21.09.2015, 15:40. Показов 850. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Извини автор что я сюда влезла, но интерестная задачка. Я решила ее сделать, но суму 0 выдает , и я не могу понять где ошибка:
C++
1
2
3
4
5
6
7
8
9
unsigned SumNum(const char* str)
{
    unsigned sum = 0;
    for (int index = 0; index < UINT_MAX; ++index)
    {
        sum += *str;
    }
    return 0;
}
C++
1
2
3
const char* str2 = "123";
    unsigned sumNum = SumNum(str2);
    printf("sumNum:%u\n", sumNum);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.09.2015, 15:40
Ответы с готовыми решениями:

Функция которая ищет сумму цифр числа
Мне нужно написать функцию которая ищет сумму цифр числа представленного на вход например, для числа 123 это будет 1 + 2 + 3 = 6 ...

Функция СУММЕСЛИ выдаёт ноль
Мне нужно посчитать количество ячеек с поределёнными однотипными ответами, данными текстом. Я выбираю диапазон ячеек, например как...

Функция, которая убирает со строки определенное количество символов
есть слово 'Hello World' нужно убрать с начала этого слова три буквы чтобы получилось 'lo world'. Какая функция делает ето? Спасибо

13
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
21.09.2015, 16:17
Вот он Ваш ноль:
Цитата Сообщение от sswt Посмотреть сообщение
return 0;
C++
1
2
3
4
5
6
7
8
9
unsigned SumNum(const char* str)
{
    unsigned sum = 0;
    for (int index = 0;str[i]!=0; ++index)
    {
        sum += str[i];
    }
    return sum;
}
0
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 32
21.09.2015, 16:34
zss, спасибо, но результат не верный
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
21.09.2015, 16:37
Цитата Сообщение от vovamakr Посмотреть сообщение
не верный
складывать нужно все символы или только цифры?
0
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 32
21.09.2015, 16:39
Kerry_Jr, только цифры.
0
0 / 0 / 3
Регистрация: 31.08.2015
Сообщений: 49
21.09.2015, 16:42  [ТС]
zss, как уже тут писали, я исправила свой код, результат : для 123 выдает 150 и это не правильно.

Добавлено через 1 минуту
vovamakr, тоесть результат для 123 будет 6?
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
21.09.2015, 16:44
C++
1
2
3
4
5
6
7
8
9
10
unsigned SumNum(const char* str)
{
    unsigned sum = 0;
    for (int i = 0;str[i]!=0; ++i)
    {
        if(str[i]>='0' && str[i]<='9')
           sum += (str[i]-'0');
    }
    return sum;
}
0
 Аватар для Пытливый Ум
22 / 22 / 16
Регистрация: 04.06.2015
Сообщений: 126
21.09.2015, 16:44
zss, вы складываете char'ы
sum += str[i];
если допилить, то можно
C++
1
2
3
4
5
6
7
8
9
10
unsigned SumNum(const char* str)
{
    unsigned sum = 0;
    int index = 0;
    for (;str[index]!=0; ++index)
    {
        sum += str[index];
    }
    return sum - (index * 0x30);
}
0
0 / 0 / 3
Регистрация: 31.08.2015
Сообщений: 49
21.09.2015, 16:47  [ТС]
C++
1
2
3
4
5
6
7
8
9
unsigned SumNum(const char* str)
{
    unsigned sum = 0;
    for (int index = 0; str[index] != 0; ++index)
    {
        sum += str[index] - '0';
    }
    return sum;
}
Добавлено через 1 минуту
zss, хм. у меня без этой проверки работает
C++
1
if(str[i]>='0' && str[i]<='9').
0
21.09.2015, 16:47

Не по теме:

Цитата Сообщение от vovamakr Посмотреть сообщение
но результат не верный
Арра, с прогиба неверного!

0
0 / 0 / 0
Регистрация: 21.09.2015
Сообщений: 32
21.09.2015, 16:52
zss,
C++
1
sum += (str[i]-'0');
а что значит - (отнять) '0' ?
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
21.09.2015, 16:53
Цитата Сообщение от sswt Посмотреть сообщение
у меня без этой проверки работает
А если подать такую строку: "1й2ц3у4к5е6н7г"


Добавлено через 45 секунд
Цитата Сообщение от vovamakr Посмотреть сообщение
а что значит - (отнять) '0' ?
Отнять не ноль, а код символа ноль
'0'-'0'=0
'1'-'0'=1
...
'9'-'0'=9
0
0 / 0 / 3
Регистрация: 31.08.2015
Сообщений: 49
21.09.2015, 16:55  [ТС]
zss, точно, я не подумала про буквы)))
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
21.09.2015, 16:56
Вот табличка cp866, чтобы видеть что складывается вместо символа.
Миниатюры
Функция которая ищет сумму символов строки выдает ноль  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.09.2015, 16:56
Помогаю со студенческими работами здесь

Написать программу, которая для введенной строки выдает список символов, используемых в этой строке
Имя входного файла стандартный ввод Имя выходного файла стандартный вывод Ограничение по времени 2 секунды Ограничение по...

Функция, которая возвращает количество повторяющихся символов в начале строки
Здравствуйте, помогите, пожалуйста разрабоать эту программу: • Разработать функцию, которая возвращает количество повторяющихся символов...

Объяснить способы устранения ошибки (функция pow() выдает ноль)
Написано в borland 6, pow - выдает 0, кто подскажет где ошибка? #include &lt;vcl.h&gt; #include &lt;iostream.h&gt; #include &lt;string.h&gt; ...

Функция, которая ищет в строке T строку H
Добрый день, уважаемые форумовчане! Есть следующее задание. Написать функцию Index, которая ищет в строке T на протяжении L букв,...

Функция, которая ищет корни квадратного уравнения
Функция, которая ищет корни квадратного уравнения. Написать функцию поиска дискриминанта, первого корня, второго


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru