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

Перенос подстроки с указанной позиции предложения начиная с другой позиции

26.11.2019, 08:33. Просмотров 586. Ответов 1
Метки нет (Все метки)

Нужна помощь
Нужно перенести определенное слово с одной позиции на другую. Я написал такой код (pos_n-позиция, где изначально стояло слово, pos_new-позиция на которую нужно перенести слово,size_n-размер слова), но переносит не как положено.
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
#include <cstdlib>
#include <iostream>
#include <cstring>
#include <string>
#include <fstream>
 
using namespace std;
 
char* str_wrp(char* source_str, int pos_n, int size_n, int pos_new)
{
    int str_length = 0;
    for (int i = 0; *(source_str + i) != '\0'; i++)
        str_length++;
    char *output_str = new char[str_length + 1];
    int str_pos = 0;
    for (str_pos=0; str_pos < pos_n; str_pos++)
        *(output_str + str_pos) = *(source_str + str_pos);
        for (int i = pos_n + size_n; i < pos_n + size_n + size_n; i++, str_pos++)
        *(output_str + str_pos) = *(source_str+i);
    for (int i = pos_n; i < pos_n + size_n; i++, str_pos++)
        *(output_str + str_pos) = *(source_str + i);
    for (int i = pos_n + size_n + size_n; *(source_str + i) != '\0'; i++, str_pos++)
        *(output_str + str_pos) = *(source_str + i);
    return output_str;
}
 
int main()
{
    setlocale (LC_ALL, "RUS");
    char *source_str;
    source_str=new char[255];
    ifstream in("input.txt");
    while(!in.eof())
    {
    in.getline(source_str,256);    
    }
    in.close();
    cout<<source_str<<endl;
    int pos_n,pos_new;
    int size_n=0;
    cin>>pos_n;
    cin>>pos_new;  
    cout<<str_wrp(source_str, pos_n, size_n, pos_new)<<endl;
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.11.2019, 08:33
Ответы с готовыми решениями:

Принять данные по UART, начиная с указанной позиции
Приветствую! Работаю в AtmelStudio 7 с мк Atmega8 Как можно организовать получение данных с...

Удаление из строки s подстроки, начиная с позиции n
Здравствуйте, есть задача &quot;Функция Delete(s,n,l) Назначение: удаление из строки s подстроки,...

Вставка в строку s из подстроки s1, начиная с позиции n
помогите пожалуйста написать программу очень нужно!!!!буду благодарна!!!! Insert(s,s1,n)...

Удаление из строки s подстроки, начиная с позиции n длиной l
Delete(s,n,l) удаление из строки s подстроки, начиная с позиции n длиной l

1
0 / 0 / 0
Регистрация: 02.12.2018
Сообщений: 185
26.11.2019, 16:21  [ТС] 2
Плиз
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2019, 16:21

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

Удаление из строки s подстроки, начиная с позиции n, длиной l
3. Функция Delete(s,n,l) Назначение: удаление из строки s подстроки, начиная с позиции n, длиной l...

Дан текст. Замените в нем символы «:» на «.», начиная с указанной позиции
Дан текст. Замените в нем символы «:» на «.», начиная с указанной позиции. Пожалуйста...

Реализовать функцию - Insert(s, s1, n). Вставка в строку s подстроки s1, начиная с позиции n
Функция - Insert(s,s1,n). Вставка в строку s подстроки s1, начиная с позиции n (аналогичная...

Реализовать вставку подстроки в строку, начиная с заданной пользователем позиции
Доброго времени суток. Отстала по теме строки. Сижу читаю в инернете, но пока не удается написать...


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

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

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