- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
void two(string str, int *mstr,int l)    //Замена цифр в строке
{
    string base[10] = { "ноль","один","два","три","четыре","пять","шесть","семь","восемь","девять" };    //Строки для замены
    int i,j,t;
    for (i = 0;i < l;i++)
    {
        str.insert(mstr[i]+1, base[atoi(&str[mstr[i]])]);    //Вставка после числа в строку
        t = base[atoi(&str[mstr[i]])].length();        //Смещение последующих чисел в строке
        str.erase(mstr[i], 1);        //Удаление цифры в строке
        for (j = i; j < l;j++)        //Новые позиции чисел в строке
        {
            mstr[j] += t-1;
        }
    }
    cout << "Изменённая строка: " << str << endl;
}
                                     
        
            По заданию требовалось обработать символьную строку так, чтобы цифры записывались числительными. В этой функции идет замена цифр в строке. Массив str - строка символов, mstr - int массив, куда записывается позиция числа в строке (т.е в строке aaaa1aaa mstr[0]=4), а l - количество чисел в строке.
Код не мой. Это ад. Неработающий.
Сидел, ржал.