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

Строки STRING - как присвоить в S - B - C++

Восстановить пароль Регистрация
 
murod
 Аватар для murod
-2 / 7 / 2
Регистрация: 04.11.2010
Сообщений: 163
28.02.2012, 22:42     Строки STRING - как присвоить в S - B #1
Всем Привет, не знаю как присвоить в S - B , помогите плиз)
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
#include <iostream>
int a[1001];
using namespace std;
 
int main()
{
    string s, b;
    char m;
    int i, j, n , l, kol, x;
        cin >> x >> n;
        s = s + char(x + 48);
    for(i = 0; i <= n; i++)
    {
        l = s.length();
       // cout << l <<" ";
        for(j = 0; j < l; j++)
        {
            m = s[0];
            kol = 0;
            if (m == s[j])
                kol++;
            else
            {
                b = b + char(kol + 48);
                b = b + m;
                m = s[j];
            }
        }
       // вот здесь мне нужно чтоб переменная s . приравнялась b;
    }
 
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
28.02.2012, 22:55     Строки STRING - как присвоить в S - B #2
C++
1
s = b;


std::string::operator=
murod
 Аватар для murod
-2 / 7 / 2
Регистрация: 04.11.2010
Сообщений: 163
28.02.2012, 22:57  [ТС]     Строки STRING - как присвоить в S - B #3
не получается,
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
 
#include <iostream>
int a[1001];
using namespace std;
 
int main()
{
    string s, b;
    char m;
    int i, j, n , l, kol, x;
        cin >> x >> n;
        s = s + char(x + 48);
    for(i = 0; i <= n; i++)
    {
        l = s.length();
       // cout << l <<" ";
        for(j = 0; j < l; j++)
        {
            m = s[0];
            kol = 0;
            if (m == s[j])
                kol++;
            else
            {
                b = b + char(kol + 48);
                b = b + m;
                m = s[j];
            }
        }
       s = b; // рез-тат не правильный
    }
 
    return 0;
}
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
28.02.2012, 23:01     Строки STRING - как присвоить в S - B #4
operator= работает верно:

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>
 
int main( )
{
    std::string str1 = "Hello";
    std::string str2 = "world";
    std::string str3;
 
    str1 += " ";
    str1 += str2;
 
    std::cout << "str1: " << str1 << " str3: " << str3 << '\n';
 
    str3 = str1;
 
    std::cout << "str1: " << str1 << " str3: " << str3 << '\n';
 
    return 0;
}
Ошибка у вас в алгоритме. Скажите хотя-бы, чего вы пытаетесь этим кодом добиться? Какова задача?
murod
 Аватар для murod
-2 / 7 / 2
Регистрация: 04.11.2010
Сообщений: 163
28.02.2012, 23:04  [ТС]     Строки STRING - как присвоить в S - B #5
Преподаватель по программированию некоего Центра для одаренных детей, узнав, что его ученики знают математику 3-го класса на 97.001 процентов, решил проверить их знания по курсу математики 1-го класса. Для этого он взял за основу популярнейшую у математиков 1-го класса задачу. Первоклассник должен был продолжить следующую последовательность рядов:

1

11

21

1211

111221

312211

13112221


Входные данные


В единственной строке входного файла записаны два целых числа через пробел: x(0<=x<=100) - первый член последовательности и n(1<=n<=25).

Выходные данные


Выведите n-ый ряд x-ой последовательности


Примеры тестов


Входные данные
1 4
Выходные данные
1211

сама задача
talis
 Аватар для talis
789 / 541 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
28.02.2012, 23:23     Строки STRING - как присвоить в S - B #6
Интересная задачка

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 <iostream>
#include <string>
#include <cstdio>
 
int main( )
{
    std::string str1 = "1";
 
    int iterations;
 
    std::cout << "Interations count: ";
    std::cin >> iterations;
 
    std::string str2;
 
    while( iterations-- )
    {
        char prev_char = str1[ 0 ];
        int same_chars_count = 1;
 
        for( int i = 1; i <= str1.length(); i++ )
        {
            char buff[ 16 ];
            *buff = 0;
 
            if( prev_char != str1[ i ] || i == str1.length() )
            {
                snprintf( buff, 16, "%d%c", same_chars_count, prev_char );
                str2 += buff;
 
                same_chars_count = 1;
                prev_char = str1[ i ];
            }
            else
                same_chars_count++;
        }
 
        str1 = str2;
        str2 = "";
    }
 
    std::cout << str1;
 
    return 0;
}
murod
 Аватар для murod
-2 / 7 / 2
Регистрация: 04.11.2010
Сообщений: 163
29.02.2012, 20:04  [ТС]     Строки STRING - как присвоить в S - B #7
Большое спасибо !!)
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
01.03.2012, 01:03     Строки STRING - как присвоить в S - B #8
Извиняюсь за, возможно, тупой вопрос, но я не понял зависимости между этими рядами, подскажите пожалуйста... просто стало интересно.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2012, 15:06     Строки STRING - как присвоить в S - B
Еще ссылки по теме:

String не дает присвоить больше 4х символов C++
C++ Как vector<string> присвоить конкретные значения?
C++ Как присвоить значение одной строки другой

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

Или воспользуйтесь поиском по форуму:
murod
 Аватар для murod
-2 / 7 / 2
Регистрация: 04.11.2010
Сообщений: 163
01.03.2012, 15:06  [ТС]     Строки STRING - как присвоить в S - B #9
Первая строка
1
далее идет кол-во каждого символа предыдущей строки

11 --(означает что число 1 встречается один раз )
21 -- (1 - 2 раза )
1211 - (2 - 1 раз , 1 - 1 раз)
111221 - (1 -1 раз, 2 - 1 раз, 1 - 2 раза)
Yandex
Объявления
01.03.2012, 15:06     Строки STRING - как присвоить в S - B
Ответ Создать тему
Опции темы

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