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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.72
vadim09
6 / 6 / 1
Регистрация: 04.08.2012
Сообщений: 62
#1

Сложение массива типа char в одну переменную - C++

01.02.2013, 02:53. Просмотров 3603. Ответов 5
Метки нет (Все метки)

Здравствуйте, уважаемые форумчани, помогите разобраться с такой простой задачей.

Есть массив char Arr[5]={'1','a','3','b','5','c'}. Хотелось бы сложить элементы массива в одну переменную, и что б результат сложения был 1a3b5c.

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2013, 02:53     Сложение массива типа char в одну переменную
Посмотрите здесь:

C++ bool + int + char в одну переменную
C++ Передать переменную типа char по ссылке
C++ Как сравнить переменную типа char
C++ Не могу обнулить переменную типа char
C++ Очистить переменную типа char *
C++ Как вернуть переменную типа char * из функции
C++ НЕ записывается содержимое файла в переменную типа char
C++ В чем отличие двумерного массива типа char от массива указателей на char?
C++ Сложение двух динамических массивов char* в одну строку
C++ Вывести с помощью printf переменную типа char*
Переменную типа char представить в виде 8 битов C++
Занести число в переменную, типа char C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
BumerangSP
4284 / 1406 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.02.2013, 02:59     Сложение массива типа char в одну переменную #2
По сути строка и есть массив символов:
C++
1
2
char arr[]={'1','a','3','b','5','c','\0'};
     cout<<arr;
Хотите типа string? Пожалста:
C++
1
2
3
4
std::string str;
for (int i = 0; i<strlen(arr); ++i)
    str += arr[i];
cout<<str;
kravam
быдлокодер
1690 / 877 / 44
Регистрация: 04.06.2008
Сообщений: 5,395
01.02.2013, 03:46     Сложение массива типа char в одну переменную #3
А не шестнадцатиричного ли числа от нас ждут?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <windows.h>
#include <ctype.h>
 
int main()
{
    char arr[6]={'1','a','3','b','5','C'};
    
    int x= 0;
    
    for (int i= 0; i< sizeof(arr); i++ ) {
     x*=0X10;
     isdigit(arr[i])?x+=arr[i]-48:x+=toupper(arr[i])-55;
    }
    
    printf ("%x\n", x);
    
    getchar ();
    
    return 0;
}
vadim09
6 / 6 / 1
Регистрация: 04.08.2012
Сообщений: 62
01.02.2013, 12:15  [ТС]     Сложение массива типа char в одну переменную #4
Цитата Сообщение от BumerangSP Посмотреть сообщение
По сути строка и есть массив символов:
C++
1
2
char arr[]={'1','a','3','b','5','c','\0'};
     cout<<arr;
Хотите типа string? Пожалста:
C++
1
2
3
4
std::string str;
for (int i = 0; i<strlen(arr); ++i)
    str += arr[i];
cout<<str;
Странно, компилятор ругается в cout<< на "<<" .
error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)

Добавлено через 1 минуту
Добавлено через 6 минут
Цитата Сообщение от kravam Посмотреть сообщение
А не шестнадцатиричного ли числа от нас ждут?
Да, 16-го, но это частный случай. В общем случае любой системы счисления. Просто я сделал перевод чисел из 10-ной СС в любую другую. И записывается это всё в массив, а нужно, что б записалось в одну переменную.

Вот я и хочу, присвоить одной переменной сумму элементов массива.
John Prick
765 / 698 / 127
Регистрация: 27.07.2012
Сообщений: 1,997
Завершенные тесты: 3
01.02.2013, 12:32     Сложение массива типа char в одну переменную #5
Цитата Сообщение от vadim09 Посмотреть сообщение
Странно, компилятор ругается в cout<< на "<<" .
error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)
подключи #include <string>

Добавлено через 2 минуты
и сделать проще можно
C++
1
2
3
4
5
    char arr[]={'1','a','3','b','5','c','\0'};
    cout<<arr; 
    int SizeOfArr = sizeof(arr)/sizeof(arr[0]);
    std::string str(arr, arr + SizeOfArr);
    cout<<str;
vadim09
6 / 6 / 1
Регистрация: 04.08.2012
Сообщений: 62
01.02.2013, 14:09  [ТС]     Сложение массива типа char в одну переменную #6
Цитата Сообщение от John Prick Посмотреть сообщение
подключи #include <string>
Тю блин, вроде ж был подключен. Спасибо, вы мне помогли!

Добавлено через 38 минут
Господа, помогите, всё равно неверно получается

Когда, к примеру, я перевожу 255 в 16-ричную - всё отлично переводиться пишет FF, но когда берем другие числа и переводим например 427 в 16-ную должно быть 1AB, а в консоле я вижу смайлик. Почему так происходит? Почему буквы нормально воспринимает, а цифры переводит в ANSI ?

Добавлено через 48 минут
Всё, уже разобрался сам)
Yandex
Объявления
01.02.2013, 14:09     Сложение массива типа char в одну переменную
Ответ Создать тему
Опции темы

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