Помощь - Поиск - Пользователи - Календарь
Полная версия: Запутался с типами данных (видимо).
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Маленький Мук
Только начал изучать Паскаль. Мне 12 лет. Помогите, плз!
Как написать программу, чтоб можно было вводить букву с клавиатуры, а программа писала гласный он или согласный (например). Запутался с типами данных.
Я задаю тип char некоторой переменно buk (буква), потом пользуюсь case чтоб в зависимости от вводимых buk  программа писала, гласный звук или согласный. Не получается. В чем ошибка?
GLuk
Приведи код, конечно я мог бы тебе и программу написать, только вот думаю, что лучше тебе самому во всем разобраться  :)
sandman
const
  g=['е','ы','а','о','э','я','и','ю','Ё'];
  ss=['й','ц','к','н','г','ш','щ','з','х','ъ','ф','в','п','р','л','д','ж','ч','с','м','т','ь','б'];
var
  sog, gl :integer;
  str     :string;
Procedure Find(const str :string; var gl, sog :integer);

var
  i :integer;
begin
  for i:=1 to length(str) do
  begin
     if str[i] in g then
        inc(gl);
     if str[i] in ss then
        inc(sog)
  end
end;


begin
  sog:=0;
  gl:=0;
  Write('Введите строку, состоящую из русских букв: ');
  Readln(str);
  Find(str, gl, sog);
  Writeln('Найдено ', sog, 'согласных букв ', ' и ', gl, ' гласных');
  Readln
end.
GLuk
2Sandman: Всю идею сговнял...
sandman
прошу прощения.. я случайно. честно. smile.gif
___ALex___
begin
if str[i] in g then
   inc(gl);
if str[i] in ss then
   inc(sog)
  end
это не холосо, вот так холосо
 if str[i] in g then
   inc(gl) else  inc(sog)
 (ведь ты написал, что в строке должны быть только русские буквы!)
GLuk
А, да все равно Маленького мука не видно...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.