Помощь - Поиск - Пользователи - Календарь
Полная версия: Слово в опр. падеже
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Caries
ПРивет. Дана задача примерно такого содержания:
Заданы 4 слова Тетрадь Боль Степь и Дверь. Человек выбирает слово и падеж, и нужно вывести ему слово в нужном падеже.
Я тут немного химичил, проблема вывести само слово, в мозгах чето заклинило, пишет что данный ти не выводится. вот код программы:
Код
Program Slova;
type padesh = (I,R,D,V,T,Pr);
slovo = (step, bol , tetrad, dver);
var w:slovo; p:padesh;wrd : char;pod:char;
stop :boolean;
begin
writeln;
writeln ('Viberete slovo');
readln(wrd);
case wrd of
'1' :w:=step;
'2' :w:=bol;
'3' :w:=tetrad;
'4' :w:=dver;
else
stop:=true;end;
writeln('viberete padesh');
readln(pod);
case pod  of
'i': p :=i;
'r': p :=r;
'd': p :=d;
'v': P :=v;
't': p :=t;
'p': p :=pr;
else writeln('vvedite pralno');end;
if p = i then writeln('slovo + okonchanie1');
if p = r then writeln('slovo + okonchanie2');
if p = d then writeln('slovo + okonchanie3');
if p = v then writeln('slovo + okonchanie4');
if p = t then writeln('slovo + okonchanie5');
if p = pr then writeln('slovo + okonchanie6');
end.

Если у кого то появятся решения лучшего моего - опишите плз.
Заранее спасибо. smile.gif
Unknown
Попробуй вот так:
Код
type
 padezh = (I,R,D,V,T,Pr);

const
 maxWords = 4;
 slovo: array[1 .. maxWords] of string =
        ('степ', 'бол', 'тетрад', 'двер');

 letter: array[padezh] of char =
   ('i', 'r', 'd', 'v', 't', 'p');
 okonchanie: array[padezh] of string =
   ('ь', 'ь', 'и', 'ь', 'и', 'и');

var
 w:string; p, ip:padezh; wrd:byte; pod: char;

begin
 writeln;
 writeln ('Viberete slovo');
 repeat
   readln(wrd);
 until wrd in [1 .. 6];
 w := slovo[wrd];

 writeln('viberete padesh');
 repeat
   readln(pod);
 until pod in ['i', 'r', 'd', 'v', 't', 'p'];
 for ip := low(padezh) to high(padezh) do
   if letter[ip] = pod then p := ip;

 writeln(w + okonchanie[p]);
end.
Caries
Спасибо. Помогло. :yes:
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.