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

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

Войти
Регистрация
Восстановить пароль
 
_or_75
-1 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 244
#1

Вставка символа через каждые 8 букв - C++

13.08.2012, 00:07. Просмотров 1086. Ответов 2
Метки нет (Все метки)

Вообщем есть строка ввида "6842318465134824"
мне надо её превратить в "68423184-65134824".
Вот и вопрос как вставить после 8 цифры этот знак '-'?

думал я думал вот что получилось.

C++
1
2
3
4
5
6
7
char razdel(char str[])
{
    for (int i = 0; i < strlen(str); i++)
    {
        
    }
}
знаю что код не дописан, но мне надо помочь его дописать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.08.2012, 00:07     Вставка символа через каждые 8 букв
Посмотрите здесь:
Через каждые 5 символов добавить пробел и посчитать количество символа "X" C++
C++ Вставка символа в строку
C++ Координаты х и у, вставка символа
C++ Вставка пробела после символа
C++ String и кириллица. Вставка переноса строки после n-ного символа
C++ Вставка пробела после символа, не являющегося буквой или цифрой
C++ Чем отличается вставка в vector<string > через pushback и через индекс []?
Вывести каждые 4 строки через 1 пустую. C++
C++ Таймер который запускается по новой через каждые полчаса
C++ Уменьшение числа на единицу через каждые два шага
Заполнить массив последовательностью, в которой через каждые 8 элементов записываемое значение увеличивается C++
C++ Заполните массив последовательностью, в которой через каждые 5 элементов записываемое значение увеличивается

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Neon-z
46 / 41 / 1
Регистрация: 06.09.2010
Сообщений: 419
13.08.2012, 00:17     Вставка символа через каждые 8 букв #2
Я бы так сделал:
C++
1
2
for (int i=0;i<strlen(str);i++){
if (i%8==0) { /*вставляем на эту позицию символ*/ }}
Добавлено через 2 минуты
А насчет вставки я точно не помню, но как то так:
C++
1
2
String str;
 str.insert(i,'-');
zitxbit
Master C/C++
87 / 739 / 75
Регистрация: 11.04.2012
Сообщений: 971
13.08.2012, 05:23     Вставка символа через каждые 8 букв #3
А можно еще и вот так:
C++
1
2
3
4
    for (int i = 0; i < strlen(str); i+=8)
    {
         /*вставляем на эту позицию символ*/
    }
Или вот так, с сохранением символа в заданной позиции:
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
 
int main()
{
    static char str[256] = "6842318465134824";
 
    printf("%s\n",str);
 
    int i = 0; 
    int n = 8; char ch = '-';
    while (str[i+n] != '\0')
    {
        int k = strlen(str)-1;
        while (k >= (i+n)) str[k+1] = str[k--];
        if (ch != '\0') str[k+1] = ch; i+=n+1;
    }
 
    printf("%s\n",str);
 
    _getch();
 
    return 0;
}]
http://liveworkspace.org/code/2238c7...478d80a57556fc
Ответ Создать тему
Опции темы

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