По разделам

 

Решение задачи String 56


Дана строка-предложение на русском языке.Вывести самое короткое слово в предложении. Если таких слов несколько, то вывести последнее из них. Словом считать набор символов, не содержащий пробелов, знаков препинания и ограниченный пробелами, знаками препинания или началом/концом строки.

Код (C/C++)

#include <bits/stdc++.h>

using namespace std;

int main()
{

    system("chcp 1251");
    string s;
    getline(cin, s);
    s.insert(0, 1, ' ');
    int k = 0;
    s += " ";
    vector<string> res;
    for(int i = 0; i < s.size(); ++i){
        if(s[i] >= char(192) && s[i] <= char(255)){
            k = 1;
            while(s[++i] >= char(192) && s[i] <= char(255))
                ++k;
        }
        if(s[i] == ' ' && k)
            res.push_back(s.substr(i - k, k));
        else{
            while(s[i] != ' ')
                ++i;
        }
    }
    int mx = res[0].size(); string t = res[0];
    for(int i = 1; i < res.size(); ++i){
        if(res[i].size() <= mx){
            mx = res[i].size();
            t = res[i];
        }
    }
    cout << t;
    return 0;
}

Код (Pascal)

program String56;
var
 S,SmallWord:String;
 poz:integer;
 
begin
  Write('S: ');
  Readln(S);
 
  poz:=pos(' ',S);
  SmallWord:=copy(S,1,poz-1);
 
  While (poz<>0) do
   begin
    if poz=1 then delete(S,1,1);
    if poz>1 then
     begin
      if (poz-1)<=Length(SmallWord) then SmallWord:=copy(S,1,poz-1);
      Delete(S,1,poz);
     end;
    poz:=pos(' ',S);
 
   end;
  if Length(S)<=Length(SmallWord) then SmallWord:=S;
 
  Writeln(SmallWord);
end.
									




String. Абрамян
String 1 Просмотров: 6203
String 2 Просмотров: 4362
String 3 Просмотров: 2682
String 4 Просмотров: 3714
String 5 Просмотров: 4360
String 6 Просмотров: 4161
String 7 Просмотров: 2887
String 8 Просмотров: 3604
String 9 Просмотров: 2961
String 10 Просмотров: 3154
String 11 Просмотров: 3821
String 12 Просмотров: 3349
String 13 Просмотров: 4012
String 14 Просмотров: 2941
String 15 Просмотров: 3651
String 16 Просмотров: 3596
String 17 Просмотров: 2945
String 18 Просмотров: 2626
String 19 Просмотров: 3605
String 20 Просмотров: 2750
String 21 Просмотров: 2443
String 22 Просмотров: 2617
String 23 Просмотров: 3635
String 24 Просмотров: 2714
String 25 Просмотров: 1982
String 26 Просмотров: 3197
String 27 Просмотров: 2832
String 28 Просмотров: 2987
String 29 Просмотров: 3726
String 30 Просмотров: 2494
String 31 Просмотров: 2906
String 32 Просмотров: 2350
String 33 Просмотров: 2024
String 34 Просмотров: 1981
String 35 Просмотров: 1852
String 36 Просмотров: 1677
String 37 Просмотров: 1430
String 38 Просмотров: 1565
String 39 Просмотров: 1665
String 40 Просмотров: 1939
String 41 Просмотров: 1725
String 42 Просмотров: 3369
String 43 Просмотров: 1651
String 44 Просмотров: 1621
String 45 Просмотров: 2034
String 46 Просмотров: 1358
String 47 Просмотров: 1270
String 48 Просмотров: 1801
String 49 Просмотров: 1529
String 50 Просмотров: 1572
String 51 Просмотров: 1466
String 52 Просмотров: 1428
String 53 Просмотров: 1390
String 54 Просмотров: 1057
String 55 Просмотров: 1199
String 56 Просмотров: 1022
String 57 Просмотров: 1643
String 58 Просмотров: 1742
String 59 Просмотров: 1534
String 60 Просмотров: 1401
String 61 Просмотров: 1197
String 62 Просмотров: 1257
String 63 Просмотров: 1610
String 64 Просмотров: 1473
String 65 Просмотров: 1345
String 66 Просмотров: 1474
String 67 Просмотров: 1143
String 68 Просмотров: 1393
String 69 Просмотров: 1261
String 70 Просмотров: 1969

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться



Заявка на расчет