![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Caries |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 44 Пол: Мужской Репутация: ![]() ![]() ![]() |
ПРивет. Дана задача примерно такого содержания:
Заданы 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. Если у кого то появятся решения лучшего моего - опишите плз. Заранее спасибо. ![]() Сообщение отредактировано: Caries - 23.02.2005 19:05 |
![]() ![]() |
Unknown |
![]()
Сообщение
#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. |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 6:30 |