Написать функцию вставки в строку S подстроки S1 с позиции n, используя указатели - C (СИ)
Формулировка задачи:
Помогите, пожалуйста написать функцию вставки в строку S подстроки S1 с позиции n, используя указатели. Язык Си, компилятор турбо си. Пожалуйста очень нужно!
Решение задачи: «Написать функцию вставки в строку S подстроки S1 с позиции n, используя указатели»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- void ins(char *s,char *s1,int t)
- {
- char tmp[255];
- int i,j;
- for (i = t,j = 0;i<255;i++,j++) {
- tmp[j] = s[i];
- }
- for (i = t,j = 0;i<255;i++,j++)
- s[i] = s1[j];
- for (i = (t+strlen(s1)),j = 0;i<255;i++,j++)
- s[i] = tmp[j];
- }
- int main()
- {
- char s[255], s1[80];
- for (int i = 0;i<255;i++)
- s[i] = '\0';
- int n=5;
- printf("введите s\n");
- scanf("%s", s);
- printf("введите s1\n");
- scanf("%s1 ",s1);
- printf("введите n\n");
- fscanf(stdin,"%d", &n);
- ins(s,s1,(n-1));
- printf("%s\n",s);
- return 0;
- }
Объяснение кода листинга программы
- В функции ins происходит вставка подстроки s1 в строку s с позиции t.
- В функции main создается пустая строка s, в которую затем считывается исходная строка.
- Также в функции main создается подстрока s1, в которую затем считывается подстрока для вставки.
- Пользователю предлагается ввести номер позиции для вставки подстроки.
- Функция ins вызывает функцию scanf для ввода строки s и s1, а также целого числа n.
- Функция ins использует массив tmp для сохранения символов строки s, начиная с позиции t.
- Затем функция ins заменяет символы в строке s, начиная с позиции t, на символы подстроки s1.
- После этого функция ins заменяет символы в строке s, начиная с позиции t+strlen(s1), на символы из массива tmp.
- В конце функции main выводится измененная строка s.
- Возвращаемое значение функции main равно 0, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д