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

Дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа

07.04.2012, 21:17. Показов 12382. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа.(используя указатели и функции)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.04.2012, 21:17
Ответы с готовыми решениями:

дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка должна вводиться с клавиатуры.
Будьте добры,помогите с решением задачи: дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа. Строка...

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

Ввести с клавиатуры целое положительное число и вывести на экран сумму его цифр
Написать программу, которая после ввода с клавиатуры целого положительного числа, выводит на экран сумму его цифр Заранее, спасибо...

15
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
07.04.2012, 21:28
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
#include "iostream.h"
 
int sum_dig(char *s)
{
    int ss=0;
 
    while (*s != 0)
    {
        ss=ss+(*s++)-'0';
    }
 
    return ss;
}
 
int main(int argc, char* argv[])
{
 
    char *S="12345";
     
    cout << "Init number is " << S << endl;
    cout << "Sum of digits ys " << sum_dig(S) << endl;
 
    return 0;
}
0
 Аватар для Mogost
7 / 6 / 6
Регистрация: 07.04.2012
Сообщений: 51
07.04.2012, 21:45
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
#include <stdio.h>
#include <conio.h>
int f(char*);
int f2(char);
void main()
{  
char *str;
printf("str=");
gets(str);
puts(str);
printf("Summa=%d",f(str));
getch();
}
 
int f(char* str)
{
    int i=0,s=0;
    while(*(str+i))
    {
    s=s+(f2(*(str+i)));
    ++i;
    }
    return s;
}
 
int f2(char z)
{
    if(z==48) return 0;
    if(z==49) return 1;
    if(z==50) return 2;
    if(z==51) return 3;
    if(z==52) return 4;
    if(z==53) return 5;
    if(z==54) return 6;
    if(z==55) return 7;
    if(z==56) return 8;
    if(z==57) return 9;
    else return 0;
}
0
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
08.04.2012, 00:55  [ТС]
в этом коде ошибка
0
 Аватар для Mogost
7 / 6 / 6
Регистрация: 07.04.2012
Сообщений: 51
08.04.2012, 07:35
Цитата Сообщение от verena-12358 Посмотреть сообщение
в этом коде ошибка
Какая? И какой компилятор? В Borland C++ 3.1 все ок.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
08.04.2012, 10:08
C
1
2
3
4
5
int f2(char z)
{
  if (z>'0' && z<='9') return(z-'0');
  else return(0);
}
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38203 / 21135 / 4310
Регистрация: 12.02.2012
Сообщений: 34,741
Записей в блоге: 14
08.04.2012, 11:12
Это у тебя не строка, а СИМВОЛ. И где суммирование?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
08.04.2012, 12:15
Цитата Сообщение от Catstail Посмотреть сообщение
Это у тебя не строка, а СИМВОЛ. И где суммирование?
Я просто модифицировал часть кода уважаемого Mogost,
0
 Аватар для Mogost
7 / 6 / 6
Регистрация: 07.04.2012
Сообщений: 51
08.04.2012, 12:33
Цитата Сообщение от Байт Посмотреть сообщение
Я просто модифицировал часть кода уважаемого Mogost,
Офтоп.
Можешь пояснить подробнее
C++
1
return(z-'0');
0
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
08.04.2012, 13:52  [ТС]
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 <string.h>
 
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
 
{
 
        char *str ="1234567890";
 
        int i,len,sum,digit;
 
        len = strlen(str);
 
        sum = 0;
 
        for(i = 0; i < len; i++)
 
        {
 
                digit = str[i]-'0';
 
                sum += digit;
 
        }
 
        printf("Заданная строка %s\n",str);
 
        printf("Сумма цифр %d\n",sum);
 
        getchar();
 
        return 0;
 
}
Помогите в коде исправить ошибку
0
 Аватар для Schizorb
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
08.04.2012, 13:57
verena-12358, попробуй подключить
C++
1
#include <stdio.h>
Или есть ещё ошибки?
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
08.04.2012, 13:59
Русские шрифты в консоли
C++
1
2
3
4
5
int _tmain(int argc, _TCHAR* argv[]){
        char *str ="1234567890";
        int i,len,sum,digit;
        setlocale( LC_ALL,"Russian" );//!!!!!!!!!!!!!!!!!!!!!
.........................
других ошибок не вижу
0
3 / 3 / 1
Регистрация: 29.04.2011
Сообщений: 34
08.04.2012, 14:01
Попробуй так:
for(i = 0; i < len; i++)
{
digit = int(str[i]) - int('0');
sum += digit;
}

Так ещё короче:
sum += int(str[i]) - int('0');
!
0
 Аватар для 3BEPb_TyTa
18 / 18 / 4
Регистрация: 18.05.2010
Сообщений: 83
08.04.2012, 14:02
У меня на VC 2008 всё работает. Разве что русский шрифт подключить надо бы.
0
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
08.04.2012, 15:12  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include<stdio.h>
#include <string.h>
 
int main()
 
{
 
        char *str ="1234567890";
        int i,len,sum,digit;
        len =strlen(str);
        sum = 0;
        for(i = 0; i < len; i++) 
 { 
 digit = int(str[i]) - int('0'); 
 sum += digit; 
 }
 
        printf("your string %s\n",str);
        printf("summa %d\n",sum);
            return 0;
 
}
А если так??? Только как сделать с указателями???
0
 Аватар для 3BEPb_TyTa
18 / 18 / 4
Регистрация: 18.05.2010
Сообщений: 83
09.04.2012, 17:24
Цитата Сообщение от verena-12358 Посмотреть сообщение
digit = int(*(str+i)) - int('0');
вот вершина используется как указатель )
что именно нужно сделать с помощью указателей?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.04.2012, 17:24
Помогаю со студенческими работами здесь

Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа налево). Заранее всем
Дано целое положительное число. Вывести символы, изображающие цифры этого числа (в порядке справа налево). Заранее всем

Ввести произвольное целое положительное число. Определить число с обратным порядком цифр заданного числа
Я первокурсник, я мало времени уделил обучению(полный дурак, признаю.) но на завтра нужно сдать лабораторную, я понимаю задание, но циклы...

Для данного числа m найти наименьшее положительное целое число с суммой цифр m и которое делится m
Для данного числа m найти наименьшие положительное целое число с суммой цифр m, которое делится m. ВВОД: Во входном файле записано m ...

Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и сумму этих цифр. Вывести на экран каждое число, количес
Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и сумму этих цифр. Вывести на экран каждое...

От данного числа N вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. до тех пор, пока число положительно
И опять: сколько можно? Задано натуральное число N. От данного числа вычтем сумму цифр этого числа, от полученного числа опять...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru