Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MiroffAlex
0 / 0 / 0
Регистрация: 15.08.2013
Сообщений: 7
#1

Символьный массив (просуммировать элементы массива и вывести их сумму) - C++

15.08.2013, 18:17. Просмотров 485. Ответов 7
Метки нет (Все метки)

Задача состоит в том чтоб просумировать елементы масива и вывести их сумму. Масив заполняется числами, он может заполнятся не полностю поетому использую функцыю gets(). Пример вход: 236 выход:11
Вот что получилось 155
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdio>
 
using namespace std;
 
int main (){
    int sum = 0;
    char *x = new char [65];
    gets(x);
 
    for (int i = 0; i < 3; i++){
        sum += x[i];
    }
    printf ("%d\n", sum);
 
    system ("pause");
 
    return 0;
}
Помогите решить ету проблему.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2013, 18:17     Символьный массив (просуммировать элементы массива и вывести их сумму)
Посмотрите здесь:
Массив. Просуммировать конкретные элементы C++
Как просуммировать элементы массива? C++
C++ Просуммировать элементы массива используя указатели
C++ Преобразовать строки в целые числа, просуммировать и вывести сумму 4 значений
Сформировать и вывести на экран новый массив, который будет содержать вначале все элементы массива A(0), затем все элементы массива B(4) C++
C++ Просуммировать элементы массива со значениями больше трех
Просуммировать все элементы массива, которые находятся между первым и последним нулем C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.08.2013, 18:25     Символьный массив (просуммировать элементы массива и вывести их сумму) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cstdio>
 
using namespace std;
 
int main (){
    int sum = 0;
    char *x = new char [65];
    gets(x);
 
    for (int i = 0; i < 3; i++){
        sum += x[i] - 48;
    }
    printf ("%d\n", sum);
 
    system ("pause");
 
    return 0;
}
korep
51 / 44 / 9
Регистрация: 06.01.2013
Сообщений: 595
15.08.2013, 18:28     Символьный массив (просуммировать элементы массива и вывести их сумму) #3
Цитата Сообщение от MiroffAlex Посмотреть сообщение
sum += x[i];
ты этим строку в int суммируешь
C++
1
sum += (size_t(x[i])<10)?size_t(x[i]):0;
попробуй так
MiroffAlex
0 / 0 / 0
Регистрация: 15.08.2013
Сообщений: 7
15.08.2013, 18:35  [ТС]     Символьный массив (просуммировать элементы массива и вывести их сумму) #4
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
        sum += x[i] - 48;
А почему -48?
korep
51 / 44 / 9
Регистрация: 06.01.2013
Сообщений: 595
15.08.2013, 18:36     Символьный массив (просуммировать элементы массива и вывести их сумму) #5
ASCII?

Добавлено через 30 секунд
(155-11)/3 = 48
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.08.2013, 18:39     Символьный массив (просуммировать элементы массива и вывести их сумму) #6
Цитата Сообщение от MiroffAlex Посмотреть сообщение
А почему -48?
Код цифр (символов) отличается от их числового значения на 48. Код '0' == 48, код '1' == 49 и т.д.
MiroffAlex
0 / 0 / 0
Регистрация: 15.08.2013
Сообщений: 7
15.08.2013, 18:41  [ТС]     Символьный массив (просуммировать элементы массива и вывести их сумму) #7
Спасибо все сработало
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2013, 18:55     Символьный массив (просуммировать элементы массива и вывести их сумму)
Еще ссылки по теме:
Подсчитать элементы массива меньшие нуля и вывести сумму этих элементов C++
Записать положительные элементы массива X подряд в массив Y. Определить k – количество положительных элементов. Вычислит сумму элементов массива Y C++
Заменить 0 элементы массива на 1 и вывести массив в обратном порядке C++
Дан массив из n элементов. Вывести элементы массива, кратные k C++
Найти максимальный элемент, сумму чётных элементов массива и вывести отрицательные элементы на экран C++

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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4881 / 3017 / 370
Регистрация: 10.11.2010
Сообщений: 11,076
Записей в блоге: 10
Завершенные тесты: 1
15.08.2013, 18:55     Символьный массив (просуммировать элементы массива и вывести их сумму) #8
Цитата Сообщение от korep Посмотреть сообщение
C++
1
sum += (size_t(x[i])<10)?size_t(x[i]):0;
что это?
Yandex
Объявления
15.08.2013, 18:55     Символьный массив (просуммировать элементы массива и вывести их сумму)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru