IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Слово в опр. падеже
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 44
Пол: Мужской

Репутация: -  0  +


ПРивет. Дана задача примерно такого содержания:
Заданы 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

Сообщение отредактировано: Caries -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Попробуй вот так:
Код
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.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 44
Пол: Мужской

Репутация: -  0  +


Спасибо. Помогло. :yes:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 6.05.2024 1:47
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name