|
|
|
Динамические структуры
|
|||
|---|---|---|---|
|
#18+
Люди здравствуйте, подскажите как сделать. Сижу на паре( надо через динамические структуры Дана непустая последовательность слов, в каждом из которых от 1 до 8 строчных латинских букв: между словами - пробел, за последним словом - точка. Напечатать эти слова в следующем порядке: сначала - по алфавиту все слова из одной буквы, затем по алфавиту все двухбуквенные слова и т.д.(одинаковые слова печатать по одному разу). -------------------------------------------------------------------------------------------------- до этого вот что делал не через динамические может что нибудь поможет ?? Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не менее одного пробела, за последним словом - точка. Напечатать те слова последовательности, которые отличны от последнего слова и удовлетворяют следующему свойству: -буквы слова упорядочены по алфавиту; Текст программы: program m; var slovo:array[0..49] of string; stroka:string; i,k,lol,dlinna,m:byte; function IsOk(a:string):boolean; var i:integer; begin IsOk:=true; For i:=0 to length(a)-1 do begin If a[i]>a[i+1] then IsOk:=false; end; end; begin writeln('‚ўҐ¤ЁвҐ б«®ў : '); readln(stroka); dlinna:=length(stroka); For i:=1 to length(stroka) do begin if stroka[i]='.' then begin insert(' ',stroka,i); delete(stroka,i+1,length(stroka)-i+1); end; end; For i:=0 to length(stroka) do begin if (stroka[i]=' ') and (stroka[i]<>stroka[i+1]) then m:=m+1; end; For k:=0 to dlinna do begin If length(stroka)>0 then begin For i:=1 to length(stroka) do If (stroka[i]<>' ') then begin insert(stroka[i], slovo[k], i); lol:=i; end else if (stroka[i]=' ') and (stroka[i-1]<>' ') then begin delete(stroka, 1, lol+1); break; end else if (stroka[i]=' ') and (stroka[i+1]=' ') then begin delete(stroka, 1, 1); break; end else breaK; end; end; writeln; writeln('‘«®ў б ЎгЄў ¬Ё ў «д ўЁв®¬ Ї®ап¤ЄҐ'); writeln('--------------------------------------------------------'); For k:=0 to dlinna do begin If (IsOk(slovo[k])=true) then write(Slovo[k], ' '); end; writeln; writeln('---------------------------------------------------------'); writeln; writeln('Ќ ¦¬ЁвҐ Enter ¤«п ўл室 Ё§ Їа®Ја ¬¬л'); readln; end. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2009, 13:09:51 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=125&tid=1344558]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
83ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 396ms |

| 0 / 0 |
