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

Сумма массивов - C++

Восстановить пароль Регистрация
 
FeneOredo
Сообщений: n/a
22.10.2012, 21:49     Сумма массивов #1
Воот, даны числа, к примеру 1231, как их сложить если они в массиве ?! По идеи все должно быть верно, но вылазит совсем не то число, должно 7 а вместо него 199.
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int main(){
        setlocale(LC_CTYPE,"Russian");
    cout << "Введите число: ";
    const char* a = new char[4];          
    scanf("%s",a);                        
    int q = a[0];
    int w = a[1];
    int e = a[2];
    int t = a[3];
    int r = q + w + e + t;
    cout << r;  
        
    system("pause");                      
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2012, 21:49     Сумма массивов
Посмотрите здесь:

Заданы два массива А(5) и В(5). В каждом из массивов найти наименьшее значение и разделить на него все элементы массивов. На печать вывести исходные C++
сумма квадратов всех положительных массивов C++
C++ Сравнение массивов: найти максимальное перебором массивов
сумма соответствующих элементов массивов C++
Сумма элементов одномерного и многомерного массивов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Евгений89
 Аватар для Евгений89
99 / 99 / 9
Регистрация: 17.04.2011
Сообщений: 554
Завершенные тесты: 2
22.10.2012, 22:20     Сумма массивов #2
Цитата Сообщение от FeneOredo Посмотреть сообщение
int r = q + w + e + t;
попробуй + перед равно

Добавлено через 14 минут
Цитата Сообщение от Евгений89 Посмотреть сообщение
попробуй + перед равно
не не пробуй хрень получится
Br8k
1 / 1 / 0
Регистрация: 22.10.2012
Сообщений: 42
22.10.2012, 22:30     Сумма массивов #3
#define N 5

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main()
{
    setlocale(LC_CTYPE,"Russian");
    
    int i,mas[N], sum=0;
 
    for(i=0; i<N; i++)
    {
        cout<<"Введите число"<<i+1<<": "<<endl;
        cin>>mas[i];
    }
    for(i=0; i<N; i++)
        sum+=mas[i];
    cout<<"\n\nMassive:"<<endl;
    for(i=0; i<N; i++)
        cout<<i+1<<"."<<mas[i]<<"\t";
    cout<<"Summa:"<<sum;
                 
}
ExcellencE
20 / 20 / 2
Регистрация: 22.08.2011
Сообщений: 79
23.10.2012, 12:41     Сумма массивов #4
FeneOredo, ваша ошибка в том, что вы складываете не сами числа, а их коды (в таблице символов)

C++
1
int t = a[0];
сравните с
C++
1
int t = a[0]-0x30
//вместо 0x30 можно отнимать '0'
KostyaKulakov
Заблокирован
23.10.2012, 12:53     Сумма массивов #5
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
#include <iostream>
 
int main()
{
    setlocale(LC_CTYPE,"Russian");
 
    std::cout << "Введите число: ";
 
    const char* a = new char[4]; 
 
    scanf("%s",a);      
 
    const unsigned int begin_number_in_acsi = 48;
 
    int q = a[0]-begin_number_in_acsi;
    int w = a[1]-begin_number_in_acsi;
    int e = a[2]-begin_number_in_acsi;
    int t = a[3]-begin_number_in_acsi;
 
    int r = q + w + e + t;
 
    std::cout << r;
        
    system("pause");                      
}
Yandex
Объявления
23.10.2012, 12:53     Сумма массивов
Ответ Создать тему
Опции темы

Текущее время: 11:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru