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

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

Войти
Регистрация
Восстановить пароль
 
graf1
2 / 0 / 1
Регистрация: 22.03.2010
Сообщений: 18
#1

Строки. перевод - C++

24.12.2010, 09:54. Просмотров 619. Ответов 1
Метки нет (Все метки)

Привет всем.
такое вот задание есть
В строке найти все числа в десятичной системе счисления, сформировать новую строку, в которой заменить их на соответствующим представлением в шестнадцатеричной системе.

намутил такую вот штуку, как дальше хз
может кто что подскажет?

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
40
41
42
43
44
45
#include "stdafx.h"
#include <stdlib.h>  // atoi
#include <string>  // строки
#include <iostream>  // потоковый ввод вывод
using namespace std; // просторанство имён std
 
void main ()
{
string str; // создание строки
int vot = 0;
char chicla[]={'0','1','2','3','4','5','6','7','8','9'};
cout << "BBodite ctpoky : " << endl;  // запрос на ввод строки
getline (cin,str);  // ввод строки
const char * mas;  // создание массива типа char
mas = str.c_str();  // создаём из строки массив типа char
int l = str.length();  // длинна строки
for (int i = 0; i<l ; i++)
    {
        for (int j=0; j<9; j++)
            {
                //cout << "cim" <<str[i]<<chicla[j]<< "  ";
                if (chicla[j]==str[i])
                { vot = 1;
                    break;
                //cout <<"da" <<vot;
                }
                else vot = 0;
                //  cout << "net" <<vot;
            }
        //cout << vot << "  ";
        if (vot != 0)
        {
            int nachalo = i;
            int pos = str.find_first_of (' ',i);
            int konec = i - 1;
            int kol = konec - nachalo;
            string small = str.substr(nachalo,kol);
            mas = small.c_str();
            int i = atoi(mas);  // преобразуем массив символов в число
            cout << i << ' ' ;
            cout<<"pez"<<hex<<i << ' ';   // форматированный вывод в 16 системе
        }
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2010, 09:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки. перевод (C++):

перевод строки - C++
возник вопрос,который я считал простым,а сейчас не могу решить. вообщем так,нужно чтобы после запроса ввода,вывод был на той же строке ...

Перевод строки - C++
Уважаемые программисты,подкиньте рабочий код что бы вместо точки с запятой можно было передать перевод строки,после чего выполнялась бы...

Перевод из строки в число - C++
Извиняюсь, если такая тема уже была. Есть строка s. В ней записано 2 вещественных числа. Нужно оба записать в переменные типа float....

Перевод строки в число - C++
Помогите пожалуйста. Требуется перевести строку типа string в число типа long double. К примеру string str = &quot;1111.11&quot; long double...

Перевод из строки в число - C++
Подскажите в чем ошибка. Метод должен принимать строку в виде $456 654 456.36 и выдавать число типа double. double bMoney::getmoney() ...

перевод строки CHAR - C++
Добрый день уважаемые форумчане) Пишу в IARе под AVR столкнулся с проблеммой вычесть из строки лишние символы. к примеру приведу такой код...

1
Mr.X
Эксперт С++
3051 / 1696 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
25.12.2010, 22:50 #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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
//////////////////////////////////////////////////////////////////////////////////////
//В строке найти все числа в десятичной системе счисления, сформировать новую строку, 
//в которой заменить их на соответствующим представлением в шестнадцатеричной системе.
//////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <iostream>
#include <sstream>
#include <string>
//////////////////////////////////////////////////////////////////////////////////////
typedef std::string  T_str;
typedef T_str        T_word;
//////////////////////////////////////////////////////////////////////////////////////
struct  T_transform_in_word_dec_to_hex
{
    T_word  operator()(const T_word&  s)
    {
        std::istringstream  ssin(s);
        std::ostringstream  sout;
        for(;;)
        {
            int   num_cur;
            char  symb_cur;
            if(ssin >> num_cur)
            {
                sout << std::hex << num_cur;
            }
            else
            {
                ssin.clear();
                if(ssin >> symb_cur)
                {
                    sout << symb_cur;
                }
                else break;
            }
        }
        return  sout.str();
    }    
};
//////////////////////////////////////////////////////////////////////////////////////
T_str  transform_in_str_dec_to_hex(const T_str&  s)
{
    std::istringstream  ssin(s);
    std::ostringstream  sout;
 
    std::istream_iterator<T_word>  ssin_beg(ssin);
    std::istream_iterator<T_word>  ssin_end;
 
    std::ostream_iterator<T_word>  sout_beg(sout, " ");
 
    std::transform(ssin_beg, ssin_end, sout_beg, T_transform_in_word_dec_to_hex());
    return  sout.str();
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::cout << "Input a string containing integer numbers: "
              << std::endl;
 
    T_str  s;
    getline(std::cin, s);
    
    std::cout << "The given string in which decimal numbers are replaced by the hexadecimal:"
              << std::endl
              << transform_in_str_dec_to_hex(s)
              << std::endl;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2010, 22:50
Привет! Вот еще темы с ответами:

Перевод строки в число - C++
Задание состоит в том, что нужно строку перевести в математическое выражение. Начальными данными есть строка, которая имее...

Перевод строки в число - C++
У меня по заданию нужно в строку ввести числа через пробелы а потом убрать пробелы и перевести из строки в число мои цифры. #include...

Перевод из строки в число - C++
Каким способом можно перевести строчку типа &quot;System::String ^&quot; в тип double?

Перевод дабла из строки - C++
Всем привет. Есть проблема - нужно из строки, начиная с позиции l, вытянуть число с плавающей точкой, при этом нужно узнать, сколько...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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