Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 29.11.2017
Сообщений: 10
1

Скопировать строку st1 в строку st2 поместив вместо букв десятичный код символа

17.09.2018, 21:19. Просмотров 412. Ответов 7
Метки нет (Все метки)

Скопировать строку st1 в строку st2(состоит из латинских букв и цифр) поместив вместо букв десятичный код символа ♥
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2018, 21:19
Ответы с готовыми решениями:

Определите номер позиции k-го вхождения строки st1 в строку st2
Определите номер позиции k-го вхождения строки st1 в строку st2. Если такого нет, возвратите 0.

Определить номер позиции последнего вхождения строки st1 в строку st2
Помогите пожалуйста зарешать В заданном тексте замените последовательность символов X(i) на X и...

Дан текст Txt. Заменить любое вхождение строки St1 на строку St2
Дан текст Txt. Заменить любое вхождение строки St1 на строку St2. Помогите написать. Добавлено...

Выяснить, можно ли из строки st1 сделать строку st2 путем перестановки символов
Ребят помогите пожалуста) Даны две строки st1 и st2. Выяснить можо ли из строки st1 сделать строку...

7
Модератор
Эксперт С++
10150 / 8499 / 5165
Регистрация: 18.12.2011
Сообщений: 22,736
18.09.2018, 06:37 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
int main() {
    string st1 = "Hello 123";
    ostringstream ss;
    for (auto p = st1.begin(); p != st1.end(); ++p)
        ss << (unsigned int)*p;
    string st2 = ss.str();
    cout << st2;
    system("pause");
    return 0;
}
0
519 / 393 / 240
Регистрация: 24.02.2017
Сообщений: 1,408
18.09.2018, 11:39 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    string st1 = "Hello 123",st2;
    int n;
    char s[4];
    size_t i=0;
 
    while(st1[i]!='\0')
      {
       n=(unsigned)st1[i++];
       st2+=itoa(n,s,10);
      }
    cout << st2;
    system("pause");
    return 0;
}
0
5237 / 3558 / 2112
Регистрация: 18.12.2017
Сообщений: 11,316
18.09.2018, 12:01 4
zss, " 123" наверное не буквы, да и вывести требуется не коды, а код
Цитата Сообщение от F0ch Посмотреть сообщение
символа ♥
подскажите какой код у этого символа?
0
Модератор
Эксперт С++
10150 / 8499 / 5165
Регистрация: 18.12.2011
Сообщений: 22,736
18.09.2018, 12:07 5
Yetty, Я эту фигню ( ♥ ) вообще принял за мусор и проигнорировал.

Сейчас попробовал вставить в программу.
Компилятор сказал, что символ '\u2665' нельзя представить в текущей кодировке 1251.
Я не совсем уверен, но полагаю, что 2665 - это код unicode символа в 8-ичной сс.

С уникодом работать еще не приходилось, но для сдачи этого задания, думаю, сойдет такой текст:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
 
int main() {
    string st1 = "Hello 123";
    ostringstream ss;
    for (auto p = st1.begin(); p != st1.end(); ++p)
    {
        const unsigned heart = 02665;
        if (isalpha(*p))
            ss << heart;
        else
            ss << *p;
    }
    string st2 = ss.str();
    cout << st2;
    system("pause");
    return 0;
}
0
5237 / 3558 / 2112
Регистрация: 18.12.2017
Сообщений: 11,316
18.09.2018, 13:06 6
Цитата Сообщение от zss Посмотреть сообщение
Я не совсем уверен, но полагаю, что 2665 - это код unicode символа в 8-ичной сс.
zss, нашёл такую инф: ♥ масть черви в 10-ой системе: &#9829 в 16-ой системе: &#2665
0
519 / 393 / 240
Регистрация: 24.02.2017
Сообщений: 1,408
18.09.2018, 13:10 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    string st1 = "Hello 123",st2;
    size_t i=0;
 
    while(st1[i]!='\0')
      {
       if(isalpha(st1[i]))
       st2+=51;
       else
        st2+=st1[i];
        i++;
      }
    cout << st2;
    system("pause");
    return 0;
}
Добавлено через 2 минуты
Yetty,
это управляющий символ "Конец текста" с кодом 3
0
5237 / 3558 / 2112
Регистрация: 18.12.2017
Сообщений: 11,316
18.09.2018, 22:22 8
так пусть сразу 3 и будет, чтобы ТС было проще разбираться в коде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
 
int main() 
{
    string st1 = "Hello 123", st2; 
    int i=0;
    
    while(st1[i])
      {
       if (isalpha(st1[i])) st2 += "3"; // можно и '3'
       else st2 += st1[i];
       i++;
      }
    cout << st2<<endl;
    system("pause");
    return 0;
}
F0ch, если всё же потребуется 9829 - замените в коде 3 на 9829.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.09.2018, 22:22

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Выяснить, можно ли строку st2 получить из строки st1 путем вычеркивания некоторых символов
Даны две строки st1 и st2. Нужно выяснить, можно ли строку st2 получить из строки st1 путем...

Создайте из четных символов строки st1 строку str2 и из нечетных символов строку str3
Помогите пожалуйста))

Создайте из четных символов строки st1 строку str2 и из нечетных символов строку str3
создайте из четных символов строки st1 строку str2 и из нечетных символов строку str3. Edit

Скопировать строку до определенного символа
Здравствуйте ребята! Задание удалить комментарии при попытках посимвольно копировать, пословно,...

Скопировать из строки s1 в строку s2 три последних символа в обратном порядке
Задача : Ввести строку s1 длиной не менее 10 символов. Скопировать из строки s1 в строку s2 три...

Строка: Скопировать из строки s1 в строку s2 три последних символа в обратном порядке
Кто-нибудь можешь представить это в masm коде? Ввести строку s1 длиной не менее 10 символов....


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

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

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