Другие языки программирования и технологии
дана строка содержащая латинские буквы, русские буквы и цифры. Подсчитать количество русских букв и цифр в данной строке
Символов какого типа больше?
Код для Turbo Pascal :
const Lat = ['A'..'Z', 'a'..'z']; Rus = ['А'..'Я', 'а'..'п', 'р'..'я', 'Ё', 'ё']; Cif = ['0'..'9'];
var S : String; N, R, C, L : Byte;
begin
Write('Введите строку: '); ReadLn(S);
L := 0; R := 0; C := 0; for N := 1 to Length(S) do case S[N] of Lat : Inc(L); Rus : Inc(R); Cif : Inc(C); end;
WriteLn('Латинских букв: ', L);
WriteLn('Русских букв: ', R);
WriteLn('Цифр: ', C);
end.
Про "Символов какого типа больше? - не понятно что с чем сравнивать.
То-ли русские с цифрами, то-ли прочие символы с кол-вом русских и/или цифр.. .
Короче, если только для полученных значений, то перед последним end. нужно добавит:
if (L > R) and (L > C) then WriteLn('Латинских букв больше всех! ')
else if if (R > L) and (R > C) then WriteLn('Русских букв больше всех! ')
else WriteLn('Цифр больше всех! ')
const Lat = ['A'..'Z', 'a'..'z']; Rus = ['А'..'Я', 'а'..'п', 'р'..'я', 'Ё', 'ё']; Cif = ['0'..'9'];
var S : String; N, R, C, L : Byte;
begin
Write('Введите строку: '); ReadLn(S);
L := 0; R := 0; C := 0; for N := 1 to Length(S) do case S[N] of Lat : Inc(L); Rus : Inc(R); Cif : Inc(C); end;
WriteLn('Латинских букв: ', L);
WriteLn('Русских букв: ', R);
WriteLn('Цифр: ', C);
end.
Про "Символов какого типа больше? - не понятно что с чем сравнивать.
То-ли русские с цифрами, то-ли прочие символы с кол-вом русских и/или цифр.. .
Короче, если только для полученных значений, то перед последним end. нужно добавит:
if (L > R) and (L > C) then WriteLn('Латинских букв больше всех! ')
else if if (R > L) and (R > C) then WriteLn('Русских букв больше всех! ')
else WriteLn('Цифр больше всех! ')
короче, можно задвать два массива - один для букв русского алфавита, другой - для латинских букв. Создаешь три счётчика.
Определяешь длину строки, делаешь цикл. Выделяешь каждый символ заданной строки и сравниваешь его с цифрами, с массивом русских букв и с массивом латинских. Если есть совпадение - к нужному счетчику прибавляешь 1. А потом сравниваешь эти три числа. Всё!
Определяешь длину строки, делаешь цикл. Выделяешь каждый символ заданной строки и сравниваешь его с цифрами, с массивом русских букв и с массивом латинских. Если есть совпадение - к нужному счетчику прибавляешь 1. А потом сравниваешь эти три числа. Всё!
Задаешь множество, содержащее все английские буквы (большие и маленькие) и в цикле пробегаешь строку посимвольно. Каждый символ проверяешь на вхождение в множество, если не входит, увеличивай счетчик.
Ну, или так как выше написано, хотя там больше памяти используется.. . Да и по времени наверно медленнее немного будет
Ну, или так как выше написано, хотя там больше памяти используется.. . Да и по времени наверно медленнее немного будет
Посмотреть в таблице ascii с каких по какие номера идёт кириллица, и выполнять поиск в строке символов из соответствующего диапазона. То же самое и для цифр, и для латинских символов.
какой язык программирования?
Похожие вопросы
- Как отдельно подсчитать количество русских букв и английских букв в строке массива???
- Дана матрица символов. Подсчитать количество строк, в которых букв больше, чем цифр.
- 1. как в строке выбрать все русские буквы по одному разу? 2.как заполнить массив по правилу латинского квадрата?
- Напишите программу для С++, которая заменяет в символьной строке все буквы a на буквы b, буквы A на буквы B ...
- Ассемблер (TASM). Нужно ввести строку и с помощу команд обработки цепочек подсчитать кол-во русской буквы "в" в строке
- Помогите с задачей, пожалуйста! (Delphi) Дана строка символов, состоящая из букв, цифр, запятых, точек, знаков "+" и "-
- Нужно на с++ написать программу по заданию:даны две строки, содержащие не более 100 символов. Строки состоят из слов, р
- ассемблер. задача. в строке определить позицию первого вхождения букве z
- Создать программу на С++:Вывести случайным образом ряд из 15 цифр. Задать число и подсчитать количество таких цифр в выв
- Pascal. Дана строка, элементы - числа через пробел. Как отсечь числа, которые содержат '0'?