Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > Подсчет количества вещественных и целых чисел


Автор: mihrimah 8.3.2015, 21:05
Подсчет количества вещественных чисел и целых чисел в текстовом файле. Вещественные и целые числа подсчитать отдельно. Считать, что слова в файле записаны в формате ОДНО СЛОВО В СТРОКЕ. Слово – это целое число (состоящее из десятичных цифр) или последовательность букв латинского алфавита (начинающаяся с буквы) или последовательность десятичных цифр с точкой (.) внутри строки. Имя файла задается первым параметром (%1) командного файла.


Код

@echo off
set /A int=0
set /A float=0
for /F "usebackq delims=" %%a in (%1) do for %%i in (%%a) do (
  echo %%i | Findstr /BRC:"-*[0-9]" > nul && set /a int+=1
  echo %%i | Findstr /BRC:"[-+]?[0-9]+\.?[0-9]*" > nul && set /a float+=1
  )
)
echo Integer = %int%
echo Float = %float%
pause


1. Как сделать так, чтобы считались как положительные, так и отрицательные числа?
2. Очевидно, диапазон вещественных и/или целых чисел указан неправильно
Например, в файле, в котором записано следующее:
1 2 -5 7.8 7 78 ф ав паав
Результат программы:
Integer = 6
Float = 0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)