Rosetta Code:Village Pump/Suggest a programming task: Difference between revisions

Line 436:
 
--[[User:Rabuf|Rabuf]] ([[User talk:Rabuf|talk]]) 20:47, 5 November 2013 (UTC)
 
 
==Unsorted==
Line 444 ⟶ 445:
 
Place new items here, if it's unclear where they belong.
 
==Count Consonants==
Create a program to count consonants in a string input by the user using the ASCII character set.
The program must only count the letters that are not vowels. It should not count white space, punctuation, control characters, or numeric digits.
For instance, and Ada solution is:
<lang Ada>
with Ada.Text_IO; use Ada.Text_IO;
 
procedure Main is
subtype letter is Character with
Static_Predicate => letter in 'A' .. 'Z' | 'a' .. 'z';
subtype Vowel is Character with
Static_Predicate => Vowel in 'A' | 'E' | 'I' | 'O' | 'U' |
'a' | 'e' | 'i' | 'o' | 'u';
subtype consonant is character with
dynamic_predicate => consonant in letter and then consonant not in vowel;
 
Input : String(1..1024);
length : natural;
consonant_count : Natural := 0;
begin
Put("Enter a string: ");
Get_Line(Item => Input, Last => length);
-- count consonants
for char of input(1..length) loop
if char in consonant then
consonant_count := consonant_count + 1;
end if;
end loop;
New_Line;
Put_Line(Input(1..Length));
Put_Line("contains" & consonant_count'image & " consonants.");
end Main;
<\lang>
 
===Multiple Mice===
If 2 or more USB mice (or trackballs / trackpads) are connected to the system, read the input of each separately (for multiple mouse pointers or for multiplayer game input).
82

edits