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

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

Войти
Регистрация
Восстановить пароль
 
algoritm256
9 / 9 / 1
Регистрация: 05.02.2012
Сообщений: 147
Записей в блоге: 1
#1

В середину одной строки вставить другую - C++

14.07.2012, 20:58. Просмотров 461. Ответов 5
Метки нет (Все метки)

Здравствуйте! Задача такая: В середину одной строки вставить другую. Не использовать библиотеки С. Вот мой код, но он вылетает, когда я начинаю записывать данные в строку. Помогите пожалуйста!

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>
 
void c_ount(char *str1, int c1)
{
  c1=0;
  while(*str1)
    {
        str1++;
        c1++;
    }
}
 
void counts (char *str1, char *str2, char *str3, int c1)
{
    int c2=0;
    str3=0;
 
    int divs=c1/2;
 
    while(*str1)
    {
        if(c2==divs)
        {
            while(*str2)
            {
                *str3=*str2;
                str2++;
            }
        }
        *str3=*str1;
        *str1++;
        *str3++;
        c2++;
        cout<<str3;
    }
 
}
 
int _tmain(void)
{
    clrscr();
 
    unsigned char *str1="Hellow";
    unsigned char *str2="tt";
    unsigned char *str3;
    int c1;
 
    c_ount(str1, c1);
    counts (str1, str2, str3, c1);
 
    getch();
    return 0;
}
Среда разработки: C++ Builder 6.0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2012, 20:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В середину одной строки вставить другую (C++):

Строки, копирование всех цифр из одной строки в другую - C++
Задание: Требуется ввести строку,затем копировать все цифры в другую строку. Моё решение: #include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; ...

Копирование одной строки в другую - C++
Для этого есть функция strcpy - стандартная функция из библиотеки. Надо написать программу, не используя ф-ию strcpy. Допустим есть ...

Копирование содержимого одной строки в другую - C++
как в с++ копировать строки Добавлено через 22 минуты например дано строку в которей єсть число и надо его скопировать в другую...

Копирование одной строки в другую циклом for - C++
Добрый день! есть программа, в которой пытаюсь скопировать одну строку в другую(без использования strcpy()) : int _tmain(int argc,...

Копирование слова из одной строки в другую - C++
Нужно написать часть программы, которая копирует слово из одной строки в другую, затем выполняется функция и затем копируется другое...

Переход с одной строки массива на другую - C++
проблема собственно в том что с первой строки массива цикл не переходит на другую. Это таблица тритемия. Прога работает но не коректно,...

5
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.07.2012, 21:17 #2
Вы в строковые литералы собрались что-то вставлять?
0
algoritm256
9 / 9 / 1
Регистрация: 05.02.2012
Сообщений: 147
Записей в блоге: 1
14.07.2012, 22:03  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
Вы в строковые литералы собрались что-то вставлять?
Даю Записывать str2 в середину str1 посимвольно. Просто весьрезультат я записываю в str3- те str3-это строка str1, в середине которой записана строка str2
0
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
14.07.2012, 22:16 #4
Цитата Сообщение от algoritm256 Посмотреть сообщение
C++
1
2
3
int c1;
c_ount(str1, c1);
counts (str1, str2, str3, c1);
Тут переменная c1 вроде неизвестное содержит. Если ей что-нибудь присвоить, может будет работать программа.

Добавлено через 1 минуту
Цитата Сообщение от algoritm256 Посмотреть сообщение
str3=0;
str3 это указатель на char. Так можно делать?
0
alsav22
5425 / 4820 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
14.07.2012, 22:22 #5
Цитата Сообщение от algoritm256 Посмотреть сообщение
Даю Записывать str2 в середину str1 посимвольно. Просто весьрезультат я записываю в str3- те str3-это строка str1, в середине которой записана строка str2
В строковые литералы ничего записать не получится. Строку нужно представить как массив char с символом '\0' в конце. Вот рабочий код
код
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
#include <iostream>
using namespace std;
#include <conio.h>
 
char* counts (char *str1, char *str2, char *str3)
{
    int len1 = strlen(str1);
    int len2 = strlen(str2);
    int c = len1/2;
    int d = len1 - c;
    
    for (int i = 0; i < c; i++)
    {
        str3[i] = str1[i];
    }
    
    for (int i = c, j = 0; j < len2; i++, j++)
    {
        str3[i] = str2[j];
    }
    
    for (int i = c + len2, j = c; j < len1; i++, j++)
    {
        str3[i] = str1[j];
    }
    
    return str3;
 }
 
int main(void)
{
    char str1[]="Hellow";
    char str2[]="tt";
    char str3[255]="\0";
   
    cout << counts(str1, str2, str3) << endl;
 
    getch();
    return 0;
}


Добавлено через 1 минуту
Intel~lect, у него код вообще неправильный.
0
algoritm256
9 / 9 / 1
Регистрация: 05.02.2012
Сообщений: 147
Записей в блоге: 1
14.07.2012, 22:23  [ТС] #6
Цитата Сообщение от Intel~lect Посмотреть сообщение
Тут переменная c1 вроде неизвестное содержит. Если ей что-нибудь присвоить, может будет работать программа.
Присваивал. Никакого эффекта


Цитата Сообщение от Intel~lect Посмотреть сообщение
str3 это указатель на char. Так можно делать?
По идеи можно
0
14.07.2012, 22:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2012, 22:23
Привет! Вот еще темы с ответами:

Скопировать string из одной строки в другую - C++
надо из одной строки в другую определенное количество символов с определенной позиции Например: #include &lt;string&gt; #include &lt;iostream&gt;...

Копировать символы латиницы с одной строки в другую. - C++
Написать функцию для роботи со строками: Копировать символы латиницы с одной строки в другую. При этом НЕ использовать библиотечных...

Копировать несколько символов из одной строки в другую - C++
Нужна функция которая копирует символы из переменной в переменную начиная например от 5 символа и заканчивая 9

Найти количество вхождений одной строки в другую - C++
даны строки 1 и 2. надо найти количество вхождений из строки 1 в строку 2


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

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

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