Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.88/40: Рейтинг темы: голосов - 40, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 17.02.2012
Сообщений: 13

Вставить в строку 1 содержимое строки 2 (#C) <String.h>

16.05.2012, 18:44. Показов 8935. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание:
Ввести две символьных строки. Выполнить вставку второй строки в первую, с позиции, введенной с клавиатуры.

Нашёл тут у нас много полезностей, но не удалось собрать программу... Помогите.

C++
1
2
3
4
5
6
7
8
9
10
char * insertSTR(char *str1, char *str2, int n)
{
  int newSize = strlen(str1)+strlen(str2);
  char *newStr = new char[newSize];
  memset(newStr, '\0', newSize);
  strncpy(newStr, str1, n);
  strcat(newStr, str2);
  strcat(newStr, str1 + n);
}
return newStr;
Я решил эту задару без помощи библиотеки <string>

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
#include <stdio.h>                      /*Подклячение стандартной библиотеки ввода-вывода*/
#include <string.h>                     /*Подключение библиотеки работы со строками*/
 
int main(void)                          /*Вход в программу*/
{
int a, b, n, i, k, kolsim1, kolsim2;    /*Иницилизация данныйх*/
char str1[80];                          /*Иницилизация данныйх*/
char str2[80];                          /*Иницилизация данныйх*/
char buf[160];                          /*Иницилизация данныйх*/
printf ("Vvedite pervuy stroku \n");    /*Вывод строки на экран*/ 
scanf("%s", str1);                      /*Ввод символов с клавиатуры в память*/
printf ("Vvedite vtoruy stroku \n");    /*Вывод строки на экран*/
scanf("%s", str2);                      /*Ввод символов с клавиатуры в память*/
kolsim1=strlen(str1);                   /*Получение количества символов в строке*/
kolsim2=strlen(str2);                   /*Получение количества символов в строке*/
a=kolsim1+kolsim2;                      /*Получение количества всех введенных символов*/
b=-1;                                   /*Присваивание значения переменной, для правильного*/
                                        /*формирования счетчика*/
printf ("Vvedite pozitciu n: \n");      /*Вывод строки на экран*/
scanf("%0d", &n);                       /*Ввод символов с клавиатуры в память*/
if (n<=kolsim1)                         /*Проверка правильности введенных данных*/
    {
    for(i=0;i<n;i++)                    /*Цикл заполнения буферного массива элементами, из первой*/
        {                               /*строки*/
        b=b+1;                          /*Увеличение счетчика*/
        buf[b]=str1[i];                 /*Присваивание значения элемента буферного массива элементом*/
        }                               /*из первой строки*/
    for(k=0;k<kolsim2;k++)              /*Цикл заполнения буферного массива элементами из второй*/
        {                               /*строки. Начиная с позиции n.*/
        b=b+1;                          /*Увеличение счетчика*/
        buf[b]=str2[k];                 /*Присваивание значения элемента буферного массива элементом*/
        }                               /*из первой строки*/
    for(;i<kolsim1;i++)                 /*Цикл продолжения замиси элементов из первго массива в бу-*/
        {                               /*ферный массив*/
        b=b+1;                          /*Увеличение счетчика*/
        buf[b]=str1[i];                 /*Присваивание значения элемента буферного массива элементом*/
        }                               /*из первой строки*/
    buf[b+1]='\0';                      /*Запись NULL-терминатора, для верного вывода на экран*/
    printf ("Poluh'ennaja stroka %s\n", buf);   /*Вывод полученной строки*/
    return 0;                           /*Завершение программы*/
    }
else                                    /*Обработка неверных введенных данных*/
    {
    printf ("!!! Oshibka n !!!\n");     /*Вывод строки на экран*/
    return 0;                           /*Завершение программы*/
    }
}

Нужно решить при помощи библиотеки STRING и как можно короче. Жду вашех предложений.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2012, 18:44
Ответы с готовыми решениями:

Вставить в строку s содержимое s1 начиная с позиции n
Помогите пожалуйста написать программу! Вставить в строку s содержимое s1 начиная с позиции n. То есть сначала идут n-первых символов s,...

Разработать функцию MakeStr(const S:string):string, возвращающую строку, состоящую из всех гласных латинских букв строки
1.Разработать функцию MakeStr(const S:string):string, возвращающую строку, состоящую из всех гласных латинских букв строки S без...

Как попроще считать определённую строку из файла и присвоить её содержимое string переменной?
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;windows.h&gt; using namespace std; int main() { SetConsoleCP(1257); ...

24
What a waste!
 Аватар для gray_fox
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
16.05.2012, 20:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от boyfromsun Посмотреть сообщение
gray_fox, Скажите а на чём вы писали программу ??? И чем вы её так проверяли ?? Найте названия, скачаю на будущее, большое спасибо
Компилятор - MinGW 4.7.0 (порт gcc под Windows), среда - NetBeans IDE 7.1.

Добавлено через 2 минуты
Цитата Сообщение от boyfromsun Посмотреть сообщение
скачаю на будущее
Под винду будет проще скачать Visual Studio 2010 Express (она, вроде, халявная). Там, естественно, другой компилятор.
1
0 / 0 / 0
Регистрация: 17.02.2012
Сообщений: 13
16.05.2012, 20:55  [ТС]
gray_fox, Если вам будет не сложно Дайте ссылку на компилятор , или загрузите на народ если не сложно, а NetBeans IDE 7.1. я нашёл. Спасибо
0
What a waste!
 Аватар для gray_fox
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
16.05.2012, 21:14
Сразу скажу, с этим могут быть проблемы (у меня правда не было) ). Проще скачать последнюю VS Express - там всё из коробки + более менее актуальный компилятор. Но если хочешь так, то: чтобы работать в NetBeans c C++ понадобится С++ плагин для него; если ты скачал NetBeans без плагина, то надо будет его самому скачать\поставить; качать установщик MinGW с офф. сайта: http://sourceforge.net/project... -20120426/ - выбирай .exe; в процессе установки убедись, что выделено g++ (с++ компилятор); если в NetBeans есть плагин для С++, то в меню Сервис->Параметры будет вкладка С/С++; возможно, там придётся ручками прописать пути к компилятору\дебагеру.
1
0 / 0 / 0
Регистрация: 17.02.2012
Сообщений: 13
16.05.2012, 21:30  [ТС]
качаю NetBeans 7.1.2 размером 257 мб
Вот:
http://netbeans.org/downloads/
Написано там всё есть
0
What a waste!
 Аватар для gray_fox
1612 / 1304 / 180
Регистрация: 21.04.2012
Сообщений: 2,735
16.05.2012, 21:35
Вот, может пригодится: http://netbeans.org/community/... ns_ru.html
Вообще, различных сред тьма, выбирайте на свой вкус: Бесплатные среды (IDE) для программирования на С/С++
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.05.2012, 21:35

Ввести строки и через n символов первой строки вставить вторую строку, и так до конца строки
Помогите исправить баг задача состоит в следующем :ввести строку и простроку тоесть две строки и надо через (n) символов первой строки...

Вставить после найденной строки содержимое файла
Написать shell-процедуру,которая: читает содержимое первого файла, передаваемого в качестве первого параметра; читает содержимое...

std::string variable.data() обрезает содержимое строки
Всем доброй ночи // read a file into memory #include &lt;iostream&gt; // std::cout #include &lt;fstream&gt; // std::ifstream ...

Строки. Перед (после) каждого вхождения символа C в строку S1 вставить строку S2
Даны строки S1, S2 и символ C. Перед (после) каждого вхождения символа C в строку S1 вставить строку S2 Есть такой код using...

Дан символ C и строки S, S0. Перед каждым вхождением символа C в строку S вставить строку S0
Задание :Дан символ C и строки S, S0. Перед каждым вхождением символа C в строку S вставить строку S0. Помогите ...


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

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru