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

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

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

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

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

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

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

Спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2013, 02:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сложение массива типа char в одну переменную (C++):

Сложение двух динамических массивов char* в одну строку - C++
В массивы вводятся данные, масcивы вида : int n,k; char *a,*b; a=new char; b=new char; Как вывести результирующую...

Есть переменная типа char содержащая цифру; как записать это значение в переменную типа int? - C++
Пожалуйста, напомните стандартную функцию

bool + int + char в одну переменную - C++
Подскаждите кто может, как три разных значения, к примеру : "ВАСЯ", 123, false закинуть в область памяти, на которую указывает...

В чем отличие двумерного массива типа char от массива указателей на char? - C++
В чем отличие двумерного массива типа char и массива указателей на char ?

Очистить переменную типа char * - C++
Привет. Тупит код: char *rt; int port=4; rt="COM"; char temp1; //временная перем. ...

Передать переменную типа char по ссылке - C++
доброго времени суток. помогите над очень простым задание из одной книги. Создайте функцию, которая получает аргумент char& и...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
01.02.2013, 02:59 #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;
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,459
01.02.2013, 03:46 #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;
}
1
vadim09
6 / 6 / 1
Регистрация: 04.08.2012
Сообщений: 62
01.02.2013, 12:15  [ТС] #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-ной СС в любую другую. И записывается это всё в массив, а нужно, что б записалось в одну переменную.

Вот я и хочу, присвоить одной переменной сумму элементов массива.
0
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
01.02.2013, 12:32 #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;
1
vadim09
6 / 6 / 1
Регистрация: 04.08.2012
Сообщений: 62
01.02.2013, 14:09  [ТС] #6
Цитата Сообщение от John Prick Посмотреть сообщение
подключи #include <string>
Тю блин, вроде ж был подключен. Спасибо, вы мне помогли!

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

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

Добавлено через 48 минут
Всё, уже разобрался сам)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.02.2013, 14:09
Привет! Вот еще темы с ответами:

Ввод символов в переменную типа char - C++
Почему после ввода больше 1-го символа выбивает default? #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;math.h&gt; using...

Занести число в переменную, типа char - C++
char a; cin&gt;&gt;a; a=3; Тут при чтении с клавы мы считываем символ , т.е. если я введу 3, то а будет равно 3, а при присваивании а =...

Не могу обнулить переменную типа char - C++
Доброго времени суток, помогите обнулить переменную, т.к. мой компилятор ругается &quot;E2277 Lvalue required&quot; char inBuffer; ...

Как сравнить переменную типа char - C++
нужно найти элементы типа char различные от нуля, программу я написал, а вот не получается сравнивать #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.02.2013, 14:09
Ответ Создать тему
Опции темы

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