Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2010, 02:07   #1
MIKE11IPME
Форумчанин
 
Регистрация: 03.05.2010
Сообщений: 159
По умолчанию Работа со строками Pascale

Из предложения выбрать все слова , которые стоят на непарных порядковых позициях , а слова которые на парных написать в перевёрнутом варианте

И так дело в общем не мудрёное , но синий экран у мну высасывает мозг Тт
вот что я навоял
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 не работает делит и копи , массив а остаётся неизменным , а в строке ничего не удаляется ....
помогите исправить ошибку
MIKE11IPME вне форума Ответить с цитированием
Старый 26.05.2010, 08:16   #2
MIKE11IPME
Форумчанин
 
Регистрация: 03.05.2010
Сообщений: 159
По умолчанию

хэх уже увидел свою ошибку в команде pos ))
MIKE11IPME вне форума Ответить с цитированием
Старый 26.05.2010, 08:53   #3
MIKE11IPME
Форумчанин
 
Регистрация: 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.
MIKE11IPME вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами в 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