hellomaxim
?>

Вс++. . как вы помните, месклениты отправились в экспедицию. однажды руководителю экспедиции потребовалось отправить на разведку специальный отряд, состоящих из лучших мескленитов. для этого он выстроил всю команду в шеренгу. цвет панциря каждого мескленита обозначается заглавной латинской буквой (от "a" до "z" в целях времени руководитель собирается выбрать из шеренги несколько подряд стоящих. кроме того, он считает, что разведка будет более удачной, если выбранный отряд будет симметричен по цветам панцирей. например, отряд "rgbgr" будет симметричным, а отряд "rgrb" – нет. требуется выбрать из шеренги мескленитов максимально возможный отряд, удволетворяющий данным условиям. входные данные дана строка, длина которой не превосходит 255 символов – цвета мескленитов в шеренге. выходные данные выходные данные представляют собой строку – выбраный отряд мескленитов. если возможных вариантов ответа несколько, то требуется вывести находящийся ближе к началу шеренги.

Информатика

Ответы

yocrew13
{Отряд — формирование, состоящее из нескольких человек, достаточно большой численности, сформированное с той или иной целью}
//Но будь по Вашему, мне не сложно
//Dev-C++ 4.9.9.2

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

int main(){
    string s,smax,sp;
    int z=0;
    int max=0;
    bool b=true;
    bool bsub=false;
    cin>>s;
    for(int i=0;i<s.length();i++)
     for(int j=i+1;j<s.length();j++){
      if(s[i]==s[j]){
      sp=s.substr(i,j-i+1);
      b=true;
      z=0;
       while((z<=(sp.length()-1)/2)&&b){
         b=(sp[z]==sp[sp.length()-z-1]);
         z++;}
       if((b==true)&&(max<sp.length())){
                                   max=sp.length();
                                   smax="";
                                   smax=sp;
                                   bsub=true;
                                   }
       b=true;
       z=0;}}
      if(bsub==true)cout<<smax;
      else
      cout<<s[0];
      cin.get();
      cin.get();
     return 0;
}

Пример ввода 1:
CKACCANCKACBCAN
Пример вывода 1:
ACBCA
Пример ввода 2:
С
Пример вывода 2:
C
ВасилийМалюга152
1. Современное решение

// PascalABC.NET 3.2, сборка 1488 от 21.06.2017
// Внимание! Если программа не работает, обновите версию!

function From5to10(Self:sequence of string):sequence of integer;
    extensionmethod;
// Перевод последовательности заданных на строках пятиричных чисел
// в последовательность целых десятичных чисел
begin
  foreach var s in Self do begin
    var r:=0;
    var pa:=1;
    foreach var c in s.Reverse do begin
      r+=c.ToDigit*pa; pa*=5
    end;
    yield r
    end
end;

begin
  var s:=ReadlnString('Введите строку:').MatchValues('[0-4]+').From5To10;
  if s.Count=0 then Writeln('S=-1')
  else Writeln('S=',s.Sum)
end.

Пример
Введите строку: sdf812973j223k
S=73

2. Решение на TurboPascal ("Так писали наши отцы и деды в 1983 году, так и нас сейчас учат в школе")

uses Crt;

function From5to10(n:string):integer;
{ Перевод из пятиричного числа в строковом представлении
  в целое десятичное }
var
  i,pa,s:integer;
begin
  s:=0;
  pa:=1;
  for i:=Length(n) downto 1 do begin
    s:=s+pa*(Ord(n[i])-Ord('0'));
    pa:=pa*5
    end;
  From5to10:=s
end;

var
  s,w:string;
  i,k,r:integer;
begin
  ClrScr;
  Write('Введите строку: ');
  Readln(s);
  w:='';
  r:=0;
  k:=0;
  for i:=1 to Length(s) do begin
    if Pos(s[i],'01234')>0 then begin
      if w='' then k:=k+1;
      w:=w+s[i]
      end
    else
      if w<>'' then begin
        r:=r+From5to10(w);
        w:=''
        end
    end;
  if k=0 then Writeln('S=-1')
  else Writeln('S=',r);
  ReadKey
end.
sonicegle
Программа приложена файлом для Visual Basic for Applications

Ниже текст этой программы продублирован

Sub trans_sequence(ByVal M)'заполнение массива и создание преобразованной последовательности чисел  N = M  Dim mas()  ReDim mas(M)  Sg = ""  Sf = ""  Randomize  For i = 1 To M    mas(i) = Round((Rnd(100) - 0.5) * 100)    Sg = Sg + Str(mas(i))    If (mas(i) < 0) Then mas(i) = mas(i) * mas(i)    Sf = Sf + Str(mas(i))    If i <> M Then           Sg = Sg + ","       Sf = Sf + ","    End If  Next i        MsgBox "последовательность чисел " + Sg + Chr(10) + "преобразованная последовательность " + SfEnd Sub

Sub test()  trans_sequence (25)End Sub

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вс++. . как вы помните, месклениты отправились в экспедицию. однажды руководителю экспедиции потребовалось отправить на разведку специальный отряд, состоящих из лучших мескленитов. для этого он выстроил всю команду в шеренгу. цвет панциря каждого мескленита обозначается заглавной латинской буквой (от "a" до "z" в целях времени руководитель собирается выбрать из шеренги несколько подряд стоящих. кроме того, он считает, что разведка будет более удачной, если выбранный отряд будет симметричен по цветам панцирей. например, отряд "rgbgr" будет симметричным, а отряд "rgrb" – нет. требуется выбрать из шеренги мескленитов максимально возможный отряд, удволетворяющий данным условиям. входные данные дана строка, длина которой не превосходит 255 символов – цвета мескленитов в шеренге. выходные данные выходные данные представляют собой строку – выбраный отряд мескленитов. если возможных вариантов ответа несколько, то требуется вывести находящийся ближе к началу шеренги.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

krikriska84
Vasilii1891
Margarita
Manyaya
Rakitin
Drugov_Vladimirovna
Platon
badalovao256
eduard495
marinazubcko16729
tetralek
Seid-ZadeNadezhda1769
ehrik-ch
озерская_Мария1234
Monstr13