Chernaya
?>

Дано натуральное число. определить какое из цифр в этом числе чаще 0 или 9

Информатика

Ответы

ВостриковаСтародубцева1980
Var s: string;     i, z, n, a: integer; begin       readln(a);       s : = floattostr(a);       for i : = 1 to length(s) do       begin           if (s[i] = '0') then inc(z);           if (s[i] = '9') then inc(n);       end;       writeln(z, ' ', n);       if (z > n) then writeln('"0" > "9"');       if (z < n) then writeln('"0" < "9"');       if ((z = 0) and (n = 0)) then writeln('"0" = "9" = 0! ')         else if (z = n) then writeln('"0" = "9" = ', z); end. только я тут испугался аж: всё правильно, а не так пишет х) если ввести число, начинающееся с нуля, то первые нули отбросятся: )
КириллЕгорова1906

если будете сдавать в тестирующей системе, то вместо string, лучше использовать массив char - работает быстрее.

var n,i,k,p,mx,mxj: integer;

    s: array[1..100000] of char;

begin

  readln(n);

  for i: =1 to n do read(s[i]);

  k: =0; p: =0;

  mx: =0; mxj: =0;

  for i: =1 to n do

  begin

    if s[i]='g' then k: =k+1

    else

    begin

      if p=1 then

      begin

        p: =0;

        if s[i-1]='g' then  

        if (k> mxj) then mxj: =k;

        k: =0;

      end

      else

      begin

        if k> 0 then p: =1;

        if k> mx then mx: =k;

      end;

    end;  

  end;

  if mx> mxj then k: =mx+1

  else k: =mxj+1;

  if k=1 then k: =0;

  writeln(k);

end.

martinzdraste
1.

нам дана строка из двух слов. например, 'ah-ha nanana'. сначала найдем индекс пробела в этой строке. это делает функция pos(s1, s). она возвращает первый встретившийся индекс подстроки s1 в строке s. если мы вызовем pos(' ', 'ah-ha nanana'), она вернет 6. сохраним это значение в переменную space.

функция copy(s, pos, n) возвращает подстроку строки s из n символов, которая начинается в pos. для копирования первого слова нам нужно взять подстроку, которая начинается с первого символа и имеет длину space-1. под номером space в строке находится пробел, а в space+1 - начало второго слова.

таким образом, copy('ah-ha nanana', 1, space-1) вернет 'ah-ha', а copy('ah-ha nanana', space+1, length('ah-ha nanana')-space) - 'nanana'.

var

  s, s1, s2: string;

  space: longint;

begin

  readln(s);

  space : = pos(' ', s);

  s1 : = copy(s, 1, space - 1);

  s2 : = copy(s, space + 1, length(s) - space);

  s : = s2 + ' ' + s1;

  writeln(s);

end.

2.

предположим, что первая введенная строка - самая длинная. если вторая строка длиннее первой, изменим ответ. если третья строка длиннее самой длинной из первых двух, изменим ответ.

примечание: в переменной s мы сначала храним первую введенную строку, а после ввода - максимальную. если нужно сохранить первую введенную строку, лучше хранить максимальную в отдельной переменной.

var

  s, s1, s2: string;

begin

  readln(s);

  readln(s1);

  readln(s2);

  if length(s1) > length(s) then s : = s1;

  if length(s2) > length(s) then s : = s2;

  writeln(s);

end.

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

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

Дано натуральное число. определить какое из цифр в этом числе чаще 0 или 9
Ваше имя (никнейм)*
Email*
Комментарий*

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

Anatolevich
swetlanafatinia7323
kozhevniks
lepekhov4011
elizabetmaslova3
Lapushkin1988
paninsv
Дарья16
yorestov
gsktae7
saljagindima
ak74-81
Aleksandrova Zhanna1250
Stroeva19651938
nmakarchuk