![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 159
|
![]()
Из предложения выбрать все слова , которые стоят на непарных порядковых позициях , а слова которые на парных написать в перевёрнутом варианте
И так дело в общем не мудрёное , но синий экран у мну высасывает мозг Тт вот что я навоял program LW6; uses crt; type mas=array[1..100] of string; var st2,st,st1:string;b,a:mas;n,i,j,x:i nteger; procedure sort(var a,b:mas); begin j:=1; for i:=1 to n do if i div 2 = 0 then begin b[j]:=a[i]; inc(j); end; end; begin clrscr; writeln('vpeshite stroky:'); readln(st); while st[1]=' ' do delete(st,1,1); a[1]:=copy(st,1,pos(st,' ')-1); delete(st,1,pos(st,' ')); x:=length(st); if st[x]<>' ' then st:=st+' '; writeln(x,' ',a[1]); n:=1; while length(st) > 1 do begin inc(n); a[n]:=copy(st,pos(' ',st)+1,pos(st,' ')-1); delete(st,pos(' ',st),pos(st,' ')-1); writeln(st); end; sort(a,b); st:=b[j]; for j:=1 to length(b[i]) do begin b[i]:=' '; insert(st[j],b[i],1); end; writeln(st); for i:=1 to length(b[i]) do writeln(b[i],' '); readln; end. Всё бы ничего да ток в цикле while не работает делит и копи , массив а остаётся неизменным , а в строке ничего не удаляется .... помогите исправить ошибку |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 159
|
![]()
хэх уже увидел свою ошибку в команде pos ))
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 03.05.2010
Сообщений: 159
|
![]()
Вот рабочая версия этой программы , ток без переворота слов
program LW6; uses crt; type mas=array[1..60] of string; var st2,st,st1:string;b,a,l:mas;n,i,j,x :integer; begin clrscr; writeln('vpeshite stroky:'); readln(st); writeln(st); readln; n:=0; x:=length(st); if st[x]<>' ' then st:=st+' '; while length(st) > 2 do begin inc(n); if st[1]=' ' then delete(st,1,1); a[n]:=copy(st,1,pos(' ',st)-1); delete(st,1,pos(' ',st)-1); end; for i:=1 to n do write(a[i],'-'); j:=1; for i:=1 to n do if i mod 2 = 0 then begin b[j]:=a[i]; inc(j); end; for j:=1 to j do begin writeln; write(b[j],' '); end; readln; end. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с файлами в Pascale | Ericnex | Помощь студентам | 7 | 22.04.2010 18:18 |
Работа со строками | Darth_Programmeder | Помощь студентам | 3 | 14.04.2010 19:12 |
Работа со строками | <Yuliya> | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 6 | 22.01.2010 05:21 |
работа в pascale | golerka | Помощь студентам | 1 | 30.05.2009 09:39 |
Работа со строками | XSGRAFF | Общие вопросы C/C++ | 5 | 26.05.2009 00:47 |