Считать 2 последние буквы строки [требует правки]

159
11 октября 2017, 08:20

Необходимо считать в отдельную переменную 2 последние буквы строки.

Например

I love you

ou

Hello

lo

Если в строке последнее слово состоит из одного символа вывести "NO"

Например

Blabla a

NO

Answer 1
#include <iostream>
#include <string>
#include <cstdlib>
int main() 
{
    std::string s;
    std::getline (std::cin, s);
    if(s.size() < 2) { /* Error */ }
    std::string part = s.substr(s.length() - 2, 2);
    if(isalpha(part[1]) && isspace(part[0])) // 1 letter
        std::cout << "NO" << std::endl; 
    else
        std::cout << part << std::endl;
    return 0;
}
Answer 2

Еще вариант....

#include <iostream>
#include <cstring>
using namespace std;
const char* str_2(char instr[])
{
    instr+=strlen(instr)-2;
    if (instr[0]==' ') 
        return ("NO");
    return instr;
}
int main() {
    cout << "***: " << str_2("i love you") << "\n";
    cout << "***: " << str_2("Blabla a") << "\n";
return 0;
}
/*
***: ou
***: NO
*/
Answer 3

https://ideone.com/GopeKT

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
  char s[256];
  while (fgets(s, sizeof s, stdin))
  {
    int len = strlen(s);
    if (s[len-1]=='\n') s[--len] = 0;
    char *p = max<char*>(s + len - 2, s);
    puts(p);
  } 
  return 0;
}
READ ALSO
Autocomplete передача значения из select в массив

Autocomplete передача значения из select в массив

Задача: выбрать кол-во инпутов/авторов, вывести их на экран, в каждом должен работать autocomplete по ФИО юзеровПосле выбора предложенного значения...

260
Нуждаюсь в помощи в jQuery [требует правки]

Нуждаюсь в помощи в jQuery [требует правки]

Смешалось всё в кашу , чат выдаёт по 2 сообщения сразу , вот рабочий исходник ! http://installod

183
Как добавить блок с содержимым на сайт с Adobe Muse, не имея файла проекта? [требует правки]

Как добавить блок с содержимым на сайт с Adobe Muse, не имея файла проекта? [требует правки]

Я так понимаю, каждый id отвечает за свой стиль? и необходимо увеличить или уменьшить где-то маржин и добавить свой блок между ними?

254