М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Ferz686
Ferz686
12.09.2020 12:21 •  Информатика

Урахмана есть строка a из строчных букв. он придумал особую формулу, по которой он находит рахманов ломтик строки. рахманов ломтик строки - это любая строка входящая в a максимальное количество раз. найдите рахманов ломтик строки a входные данные в первой и единственной строке дается строка a . длина строки не превышает 10 5 выходные данные выведите рахманов ломтик строки a . примеры входные данныескопировать afaf выходные данныескопировать af входные данныескопировать bakbak выходные данныескопировать bak надо решить с с++ програмироание

👇
Ответ:
sasha230200487
sasha230200487
12.09.2020

Условие пытается немного обмануть решающего. На самом деле всегда можно выбрать Рахманов ломтик строки, состоящий из одного символа (действительно, если в искомой подстроке несколько символов, то каждый из них встречается не меньшее число раз, что и сама подстрока). В итоге задача превращается в тривиальную: считать строку и вывести символ, встречающийся максимальное число раз.

#include <iostream>


int main() {

   char c, maxchar;

   int count[26] = {0}, maxcount = 0;

   while (std::cin.get(c)) {

       count[c - 'a']++;

   }

   for (c = 0; c < 26; c++) {

       if (count[c] > maxcount) {

           maxcount = count[c];

           maxchar = c;

       }

   }

   std::cout << static_cast<char>(maxchar + 'a');

   return 0;

}

4,8(66 оценок)
Открыть все ответы
Ответ:
matvee1
matvee1
12.09.2020
Если элементы массива идут по возрастанию, то вот так

program wstawka;
uses crt;
const min=1;
max=20;
type zona=min..max;
massiw=array[zona] of integer;
var mas:massiw;
i,j:zona;
a,N,M:integer;
T:boolean;
BEGIN randomize;
clrscr; N:=random(20);
writeln('4ucJlo N = ',N);
 M:=random(20); Writeln('4ucJlo M = ',M);
for i:=min to max-2 do
begin
mas[i+1]:=mas[i]+random(5);
write(mas[i],' ');
end;
for i:=min to max-2 do
if (mas[i]>N) and (t=false) then
begin
t:=true;
a:=mas[i];
mas[i]:=N;
for j:=i+1 to max do
begin
N:=mas[j];
mas[j]:=a;
a:=N;
end;
end;
for i:=min to max-1 do
if (mas[i]>M) and (t=true) then
begin
t:=false;
a:=mas[i];
mas[i]:=M;
for j:=i+1 to max do
begin
M:=mas[j];
mas[j]:=a;
a:=M;
end;
end;
writeln;
for i:=min to max do
write(mas[i],' ');
readkey;
END.
4,7(52 оценок)
Ответ:
nikitagarin2
nikitagarin2
12.09.2020
1. Вот так сейчас решают подобные задачи:

// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
  Writeln(Range(1,100).Select(i->sin(i)*cos(i)).Where(x->x<>0).Average)
end.

Тестовое решение:
-0.00136006072493969

2. А вот так учат писать это же школьные учителя:

// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
var
  m:array[1..100] of real;
  i,k:integer;
  s:real;

begin
  s:=0;
  k:=0;
  for i:=1 to 100 do begin
    m[i]:=sin(i)*cos(i);
    if m[i]<>0 then begin
      s:=s+m[i];
      k:=k+1
      end
    end;
  Writeln(s/k)
end.

Тестовое решение:
-0.00136006072493969
4,7(55 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ