Видалення фрагменту#8986

Видалення фрагменту (Розбір)

Конкатенуємо підстроки s[0; n – 1] і s[m + 1; \text{len}], де – довжина вхідного рядка.

Задачу можна вирішити іншим способом, скопіювавши підстроку s[m+1] у позицію .

Приклад

У задачі слід видалити підстроку . Для цього необхідно скопіювати дані починаючи з символу і до нуль байта включно у позицію .

Реалізація алгоритму

Оголошуємо символьний масив.

char s[1001];

Читаємо вхідні дані.

gets(s);
scanf("%d %d", &n, &m);

Здійснюємо копіювання підстроки.

strcpy(s + n, s + m + 1);

Виводимо результат.

puts(s);

Реалізація алгоритму – С++

#include <iostream>
#include <string>
using namespace std;

int i, n, m;
string s;

int main(void)
{
    getline(cin, s);
    cin >> n >> m;
    s = s.substr(0, n) + s.substr(m + 1);
    cout << s << endl;
    return 0;
}

Java реалізація

import java.util.*;

public class Main
{
    public static void main(String[] args)
    {
        Scanner con = new Scanner(System.in);
        String s = con.nextLine();
        int n = con.nextInt();
        int m = con.nextInt();
        
        s = s.substring(0, n) + s.substring(m+1);
        
        System.out.println(s);    
        con.close();
    }
}

Python реалізація

s = input()
a, b = map(int, input().split())
print(s[:a] + s[b+1:])