В паскале.Определите чего в строке больше и на сколько букв или цифр?

Ответы

Ответ дал: danulpopov
0
// PascalABC.NET 3.3, сборка 1576 от 16.11.2017
// Внимание! Если программа не работает, обновите версию!

egin
  var s := ReadString;
  var digit, letter: integer;
  for var i := 1 to s.length do
    if (s[i] >= '0') and (s[i] <= '9') then
      inc(digit)
    else
    if (s[i] ='ё')or(s[i]='Ё')or(s[i] >='а')and(s[i]<='я')or(s[i] >='А')and(s[i]<='Я')or(s[i] >='a')and(s[i]<='z')or(s[i] >='A')and(s[i]<='Z')then
    inc(letter);
   
  if digit < letter then
    writeln('Букв больше, чем цифр на ', letter - digit)
  else
  if digit > (s.length - digit) then
    writeln('Цифр больше, чем букв на ', digit - letter)
 else
    Writeln('Цифр столько же, сколько и букв');
 
end.

Ответ дал: Аноним
0
А если строка содержит кроме букв и цифр иные знаки?
Ответ дал: Аноним
0
В условии ведь не сказано, что строка содержит ТОЛЬКО буквы и цифры
Ответ дал: Аноним
0
Пример: "Сегодня 24.11.2017"
Ответ дал: danulpopov
0
Правил, спасибо
Ответ дал: Аноним
0
(s[i] >='a')and(s[i]<='z')or(s[i] >='A')and(s[i]<='Z') можно писать (s[i] >='A') and (s[i]<='z') - во всех кодовых таблицах они подряд.
Вас заинтересует