![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 10.06.2010
Сообщений: 2
|
![]()
Даны натуральное число n, символ s (n<=1000, s - одна из букв и,р,д,в,т,п указывающая падеж - именительный, родительный, дательный ,винительный, творительный, предложный). Запистать количественное числительное, обозначающее n, в соответствующем падеже. Все это записать в текстовый файл. Помогите пожалуйста, срочно нужна задача..Спасибо всем заранее.
вот я качал задачу с этого форума но она раоботает только для трех падежей!!НУЖНО ЧТОБ РАБОТАЛИ ВСЕ 6 ПАДЕЖЕЙ! НАРОД ПОМОГИТЕ СРОЧНО!!!: uses crt; вот текстовый файл ----> Вложение 33262 type Tmas=array[1..4] of byte; var f:text; Edn:array[1..19,1..6] of string[15]; Des:array[1..8,1..6] of string[10]; Sot:array[1..9,1..6] of string[10]; Chis:word; Pad:char; Cif:Tmas; IndPad:byte; i,j:integer; procedure CifRaz(z:word;var x:Tmas); var k,c:byte; q:Tmas; begin k:=0; while z>0 do begin c:=z mod 10; inc(k); q[k]:=c; z:=z div 10; end; for i:=1 to 4 do x[i]:=q[5-i]; end; begin clrscr; repeat write('Vvedite naturalnoe chislo <=1000: '); readln(Chis); until (Chis>0)and(Chis<=1000); CifRaz(Chis,Cif); repeat write('Vvedite padezh (i, r, d, v, t, p): '); readln(Pad); until (Pad='i')or(Pad='r')or(Pad='d')or(P ad='v')or(Pad='t')or(Pad='p'); case Pad of 'i':IndPad:=1; 'r':IndPad:=2; 'd':IndPad:=3; 'v':IndPad:=4; 't':IndPad:=5; 'p':IndPad:=6; end; assign(f,'d ![]() reset(f); for i:=1 to 19 do begin for j:=1 to 3 do begin readln(f,Edn[i,j]); {write(Edn[i,j],' ');} end; end; for i:=1 to 8 do for j:=1 to 3 do readln(f,Des[i,j]); for i:=1 to 9 do for j:=1 to 3 do readln(f,Sot[i,j]); if Cif[1]=0 then write('') else case IndPad of 1:write('odna tisyacha '); 2:write('odnoi tisyachi '); 3:write('odnoi ticyache '); 4:write('odna ticyacha '); 5:write('odnoi ticyachju '); 6:write('Odnoi tisyache '); end; if Cif[2]=0 then write('') else write(Sot[Cif[2],IndPad],' '); if Cif[3]=0 then write('') else if (Cif[3]=1)and(Cif[4]<>0)then write(Edn[Cif[4]+10,IndPad]) else if (Cif[3]=1)and(Cif[4]=0)then write(Edn[10,IndPad]) else write(Des[Cif[3]-1,IndPad],' '); if (Cif[4]<>0)and(Cif[3]<>1) then write(Edn[Cif[4],IndPad]); close(f); readln end. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
подкорректировать прогу на делфи-сортировка в стрингриде | west.by | Общие вопросы Delphi | 5 | 10.06.2010 00:31 |
Подкорректировать программу | wrmarw | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 04.05.2010 14:06 |
Можно ли подкорректировать программу, имея только ехе-шник? | dmitriy777 | Помощь студентам | 5 | 22.02.2010 11:52 |
"сортировка" при этом нужно нужно определить время рассортировки | worshewitin | Помощь студентам | 4 | 12.05.2009 20:42 |