Написать функцию вставки в строку 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, что означает успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д