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

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

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

Author24 — интернет-сервис помощи студентам
Дана строка, изображающая целое положительное число. Вывести сумму цифр этого числа.(используя указатели и функции)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.04.2012, 21:17
Ответы с готовыми решениями:

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

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

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

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

15
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,641
Записей в блоге: 13
07.04.2012, 21:28 2
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
7 / 6 / 6
Регистрация: 07.04.2012
Сообщений: 51
07.04.2012, 21:45 3
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  [ТС] 4
в этом коде ошибка
0
7 / 6 / 6
Регистрация: 07.04.2012
Сообщений: 51
08.04.2012, 07:35 5
Цитата Сообщение от verena-12358 Посмотреть сообщение
в этом коде ошибка
Какая? И какой компилятор? В Borland C++ 3.1 все ок.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
08.04.2012, 10:08 6
C
1
2
3
4
5
int f2(char z)
{
  if (z>'0' && z<='9') return(z-'0');
  else return(0);
}
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,641
Записей в блоге: 13
08.04.2012, 11:12 7
Это у тебя не строка, а СИМВОЛ. И где суммирование?
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
08.04.2012, 12:15 8
Цитата Сообщение от Catstail Посмотреть сообщение
Это у тебя не строка, а СИМВОЛ. И где суммирование?
Я просто модифицировал часть кода уважаемого Mogost,
0
7 / 6 / 6
Регистрация: 07.04.2012
Сообщений: 51
08.04.2012, 12:33 9
Цитата Сообщение от Байт Посмотреть сообщение
Я просто модифицировал часть кода уважаемого Mogost,
Офтоп.
Можешь пояснить подробнее
C++
1
return(z-'0');
0
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
08.04.2012, 13:52  [ТС] 10
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
512 / 464 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
08.04.2012, 13:57 11
verena-12358, попробуй подключить
C++
1
#include <stdio.h>
Или есть ещё ошибки?
0
4064 / 3318 / 924
Регистрация: 25.03.2012
Сообщений: 12,493
Записей в блоге: 1
08.04.2012, 13:59 12
Русские шрифты в консоли
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 13
Попробуй так:
for(i = 0; i < len; i++)
{
digit = int(str[i]) - int('0');
sum += digit;
}

Так ещё короче:
sum += int(str[i]) - int('0');
!
0
18 / 18 / 4
Регистрация: 18.05.2010
Сообщений: 83
08.04.2012, 14:02 14
У меня на VC 2008 всё работает. Разве что русский шрифт подключить надо бы.
0
1 / 1 / 0
Регистрация: 12.10.2011
Сообщений: 165
08.04.2012, 15:12  [ТС] 15
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
18 / 18 / 4
Регистрация: 18.05.2010
Сообщений: 83
09.04.2012, 17:24 16
Цитата Сообщение от verena-12358 Посмотреть сообщение
digit = int(*(str+i)) - int('0');
вот вершина используется как указатель )
что именно нужно сделать с помощью указателей?
0
09.04.2012, 17:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2012, 17:24
Помогаю со студенческими работами здесь

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

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

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

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


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

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