Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.05.2009, 19:40
гость

 
Сообщений: n/a

помогите решить задачу срочно!!!
программа записи фамилии, имени, отчества в заданном падеже!
программа есть, только она меняет окончания только у женских фамилиий, а надо чтоб всей строки и надо только в винительном и дательном падеже и как нить попроще (и надо учитывать несклоняемые фамилии)


program kurs2;
uses crt;
type str2=array[1..5] of string[2];
im=array[1..4,1..5] of string[2];
ot=array[1..2,1..5] of string[2];
const dly_s:array[1..5] of char=('1','2','3','4','5');
dob_g1:str2=('ой','ой','у','ой','ой');
dob_m:str2=('а','у','а','ым','е');
dob_img:im= (('ы','е','у','ой','е'),('и','и','ю','е' ,'и'),('и','и','ь','ью','и'),('и','е','у ','ой','е'));
dob_immt=(('я','у','я','ем','е'),('а','у ','а','ом','е'));
dob_p:str2=('а','у','а','ом','е');
dob_ott=(('а','у','а','ем','е'),('ы','е' ,'у','ой','е'));
var isx,g:text;
f,i,o,fio,s,s1,fio_n:string;
pol:0..1;
pad:1..5;
sog,glas:set of 'а'..'я';
x,y,k:byte;
n:integer; {dlina fam, imeni, otchestva}
procedure razbit(fio:string; var f,i,o:string);
var p:integer;
begin
p:=pos(' ',fio);
f:=copy(fio,1,p-1);
delete(fio,1,p);
p:=pos(' ',fio);
i:=copy(fio,1,p-1);
delete(fio,1,p);
o:=fio;
end;

BEGIN
ClrScr;
textcolor(14);
writeln(' Їа®Ја ¬¬ ЇаҐ®Ўа §®ў Ёп');
writeln(' ”€Ћ ў § ¤ л© Ї ¤Ґ¦ ');
writeln;
writeln(' ўв®а: бв㤥⪠ЈагЇЇл Џќ‚Њ-36 ‘Ґў®бвмп®ў €.€.');
writeln;
window(15,11,80,50);
gotoxy(x,y);
repeat
textColor(2);
writeln('введите номер падежа');
writeln; textColor(7);
writeln(' родительный - 1 ');
writeln(' дательный - 2');
writeln(' винительный - 3');
writeln(' творительный - 4');
writeln(' предложный - 5'); writeln;
writeln(' выход - 0');
writeln;
x:=whereX; y:=whereY;
textColor(2);
repeat
gotoXY(x,y);
ClrEol;
readln(pad);
until pad in [0..5];
if pad>0
then begin
writeln('введите имя файла'); readln(s1);
assign(isx,s1+'.txt'); reset(isx);
end;
s:='fio_'+dly_s[pad]+'.txt';
assign(g,s); rewrite(g);
glas:=['а','у','е','ы','и'];
sog:=['а'..'н','п'..'я']-glas;
while not eof(isx) do
begin
readln(isx,fio);
razbit(fio,f,i,o);
n:=length(f); k:=0;
if o[n]='ч' then pol:=0 else pol:=1;
case pol of
0: f:=f+dob_m[pad];
1: if (f[n] in glas) and (f[n-1] in ['в','н'])
then begin delete(f,n,1);f:=f+dob_g1[pad]; end
end;
n:=length(i); k:=0;
case pol of
0:case i[n] of
'й','ь':begin k:=1;delete(i,n,1); i:=i+dob_imm[k,pad]; end;
else if i='павел' then begin delete(i,4,1); i:=i+dob_p[pad]; end
else begin k:=2; i:=i+dob_imm[k,pad]; end;
end;
1: case i[n] of
'а': begin k:=1; delete(i,n,1); i:=i+dob_img[k,pad]; end;
'я': begin k:=2; delete(i,n,1); i:=i+dob_img[k,pad]; end;
'ь': begin k:=3; delete(i,n,1); i:=i+dob_img[k,pad]; end;
else if i[n-1]='г' then begin k:=4; delete(i,n,1); i:=i+dob_img[k,pad]; end;
end;
end;
n:=length(o); k:=0;
case pol of
0: begin k:=1; o:=o+dob_ot[k,pad]; end;
1: begin k:=2; delete(o,n,1); o:=o+dob_ot[k,pad]; end;
end;
fio_n:=f+' '+i+' '+o; writeln(g,fio_n);
end; {while}
textcolor(14); gotoxy(1,15);
if pad<>0 then begin
writeln('данная информация хранится в файле',s); writeln;
writeln('для продолжения нажмите <Enter>');
end
else begin textColor(7);
if pad>0 then writeln(' для продолжения нажмите <Enter>');
end;
close(g);
repeat until KeyPressed; ClrScr;
until pad=0;
END.
  #2  
Старый 12.05.2009, 06:23
MBo MBo вне форума
Местный

Отправить личное сообщение для MBo Посмотреть профиль Найти все сообщения от MBo
 
Регистрация: 21.09.2006
Адрес: Новосибирск
Сообщений: 1,374

http://www.delphikingdom.ru/asp/view...?catalogid=412
  #3  
Старый 14.10.2010, 00:32
гость

 
Сообщений: n/a

помогите**)))
водитель в гороже с закрытыми воротами решил проверить работу двигателья. через сколько времени после включения двигателя концентрация угарного газа в гороже станет равной ПДК? Через сколько минут концентрация угарного газа составит 210мг/м3? размеры горожа 3*6*3(м3),скорость заполнения гаража угарным газом =30г/м3.ПДКсо =3мг/м3.примечание: t=m/Q со; m=ПДКсо *V .где t-время,мин.m-масса угарного газа,г.V-объем гаража,м3
  #4  
Старый 14.10.2010, 01:19
гость

 
Сообщений: n/a

Сообщение от гость Посмотреть сообщение
через сколько времени после включения двигателя концентрация угарного газа в гороже станет равной ПДК?

как в глазах потемнее так и станет
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите срочно решить гость Решение задач с acm.sgu.ru 1 25.04.2009 17:03
Помогите решить задачу на С++ Andrei Реализация, исходники, языки 1 21.12.2008 16:14
Помогите решить задачу !!!!!!! Glamour Задачи 2 19.03.2008 16:42
Помогите решить задачу Misha1 Математические алгоритмы (другое) 2 10.09.2007 01:44
помогите решить задачу Annet Оффтопик 0 16.12.2006 16:58