9626. startsWith endsWith

 

Заданы три строки символов. Проверьте, является ли вторая строка префиксом первой. Проверьте, является ли третья строка суффиксом первой.

 

Вход. Три строки, каждая из которых содержит не более 100 символов.

 

Выход. В первой строке выведите true или false в зависимости от того является ли вторая строка префиксом первой. Во второй строке выведите true или false в зависимости от того является ли третья строка суффиксом первой.

 

Пример входа

Пример выхода

qwerty

qwe

ty

true

true

 

 

РЕШЕНИЕ

строки

 

Анализ алгоритма

Функция

char *strstr(const char *haystack, const char *needle)

находит первое вхождение подстроки needle в строку haystack

Строка b является префиксом a, если b входит в a начиная с позиции 0.

Строка c является суффиксом a, если c входит в a начиная с позиции

a + strlen(a) – strlen(c)

 

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

Объявим три символьные строки.

 

char a[101], b[101], c[101];

 

Читаем три входных строки.

 

gets(a);

gets(b);

gets(c);

 

Строка b является префиксом a, если b входит в a начиная с позиции 0.

 

if (strstr(a, b) == a)

  puts("true");

else

  puts("false");

 

Строка c является суффиксом a, если c входит в a начиная с позиции a + strlen(a) – strlen(c).

 

if (strstr(a + strlen(a) - strlen(c), c) == a + strlen(a) - strlen(c))

  puts("true");

else

  puts("false");

 

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

 

#include <iostream>

#include <string>

using namespace std;

 

string a, b, c;

int len;

 

int main()

{

  cin >> a >> b >> c;

  if (a.substr(0, b.size()) == b)

    puts("true");

  else

    puts("false");

 

  if (a.substr(a.size() - c.size(), c.size()) == c)

    puts("true");

  else

    puts("false");

 

  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();

    if (s.startsWith(con.nextLine()))

      System.out.println("true"); else System.out.println("false");

    if (s.endsWith(con.nextLine()))

        System.out.println("true"); else System.out.println("false");   

    con.close();

  }

}

 

Python реализация

 

s = input()

start = input()

end = input()

 

if s.startswith(start):

  print("true")

else:

  print("false")

 

if s.endswith(end):

  print("true")

else:

  print("false")