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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

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

и так зада звучит так:
ввести строку , выбрать слова которые стоят на парных позициях,
выбрать эти слова и напечатать их перевернутыми

вопрос как перевернуть слово
вот чё я навоял

program LW6;
uses crt;
type mas=array[1..60] of string;
var st2,st,st3,st1:string;b,a,g:mas;n,i ,l,j,q,x,w:integer;
procedure sort(var a,b:mas);
begin
for i:=1 to n do
if i mod 2 = 0 then
begin
b[j]:=a[i];
inc(j);
end;
end;
procedure vubor(var a:mas;var st:string;var n:integer);
begin
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;
end;
begin
clrscr;
writeln('vpeshite stroky:');
readln(st);
n:=0;
x:=length(st);
if st[x]<>' ' then st:=st+' ';
vubor(a,st,n);
writeln;
for i:=1 to n do write(a[i],'-');
j:=1;
sort(a,b);
writeln;
for j:=1 to j do
begin
write(b[j],' ');
end;
readln;
for j:=1 to j do
begin
q:=0;
st1:=b[j];
x:=length(st1);
w:=x;
for x:=1 to x do
begin
l:=w-q;
inc(q);
st2:=st1;
st2[l]:=st1[x];
st3:=st2+' ';
end;
end;
writeln(st3);
readln;
end.

вот в перевороте слов ошибка

Последний раз редактировалось MIKE11IPME; 01.06.2010 в 18:30.
MIKE11IPME вне форума Ответить с цитированием
Старый 01.06.2010, 18:54   #2
DoDge_VipeR
Форумчанин
 
Аватар для DoDge_VipeR
 
Регистрация: 30.04.2010
Сообщений: 317
По умолчанию

как перевернуть слово
Код:
for i:= 1 to length(s) div 2 do
begin
tm:=s[i];
s[i]:=s[length(s)-i+1];
s[length(s)-i+1]:=tm;end;
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!
DoDge_VipeR вне форума Ответить с цитированием
Старый 01.06.2010, 19:46   #3
MIKE11IPME
Форумчанин
 
Регистрация: 03.05.2010
Сообщений: 159
По умолчанию

program LW6;
uses crt;
type mas=array[1..60] of string;
var st2,st,st3,st1:string;b,a,g:mas;p,n ,i,l,j,q,x,w:integer;
procedure sort(var a,b:mas);
begin
for i:=1 to n do
if i mod 2 = 0 then
begin
b[j]:=a[i];
inc(j);
end;
end;
procedure vubor(var a:mas;var st:string;var n:integer);
begin
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;
end;
begin
clrscr;
writeln('vpeshite stroky:');
readln(st);
n:=0;
x:=length(st);
if st[x]<>' ' then st:=st+' ';
vubor(a,st,n);
writeln;
j:=1;
sort(a,b);
writeln;
write('slova na parnux poziciax: ');
for j:=1 to j do
begin
write(b[j],' ');
end;
writeln;
writeln;
for j:=1 to j do
begin
q:=0;
st1:=b[j];
x:=length(st1);
w:=x;
for x:=1 to x do
begin
l:=w-1-q;
inc(q);
st2:=st1;
insert(st1[x],st2,l);
end;
p:=length(st2);
delete(st2,p,1);
st2:=st2+' ';
b[j]:=st2;
end;
write('RESYLbTAT: ');
for j:=1 to j-1 do write(b[j]);
readln;
end.

эт я уже исправил
эт уже код полностью рабочей программы

Но всё равно спасибо огромное за помощь)))
MIKE11IPME вне форума Ответить с цитированием
Старый 08.06.2010, 22:59   #4
MIKE11IPME
Форумчанин
 
Регистрация: 03.05.2010
Сообщений: 159
По умолчанию

выше указанная программа не работает при определённых условиях
в ниже написанном коде программы я исправил ошибки
Код:
program LW6;
uses crt;
type mas=array[1..60] of string;
var st2,st,st3,st1:string;b,a,g:mas;p,n,f,i,xe,rt,k,l,j,q,x,w:integer;c:boolean;
procedure sort(var a,b:mas);
begin
 j:=1;
 for i:=1 to n do
 if i mod 2 = 0 then
  begin
  b[j]:=a[i];
  inc(j);
  end;
 xe:=j;
end;
procedure vubor(var a:mas;var st:string;var n:integer);
begin
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;
end;
procedure stroka(var st:string);
begin
while st[1] = ' ' do delete(st,1,1);
st:=st+' ';
st:=concat(st,' ');
while pos('  ',st) <> 0 do delete (st,pos('  ',st),1);
end;
procedure Tool(var b:mas);
var tm:char;s:string;
begin
for j:=1 to xe do
  begin
  s:=b[j];
  for i:= 1 to length(s) div 2 do
  begin
  tm:=s[i];
  s[i]:=s[length(s)-i+1];
  s[length(s)-i+1]:=tm;
  end;
  s:=s+' ';
  b[j]:=s;
  end;
end;
begin
 clrscr;
 writeln('vpeshite stroky:');
 readln(st);
 stroka(st);
 n:=0;
 vubor(a,st,n);
 writeln;

 sort(a,b);
 writeln;
 write('slova na parnux poziciax: ');
 for j:=1 to xe do
 begin
 write(b[j],' ');
 end;
 writeln;
 writeln;
 Tool(b);
 write('RESYLbTAT: ');
 for j:=1 to j-1 do write(b[j]);
 readln;
end.
MIKE11IPME вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Удаление элементов строки s2 из строки s1 Ueshua Общие вопросы C/C++ 4 20.12.2009 13:06
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
Строки. Как вывести часть строки? Anfall Общие вопросы Delphi 7 26.02.2009 09:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27