7 / 7 / 3
Регистрация: 19.07.2010
Сообщений: 37
1

Создать собственный модуль, содержащий рекурсивную процедуру на строки

20.07.2010, 17:56. Показов 590. Ответов 2
Метки нет (Все метки)

Дана строка состоящая из слов разделённых 1 или несколькими пробелом, вывести эти же слова разделённые 1 пробелом и расположенные в обратном порядке. создать модуль содержащий рекурсивную процедуру

Вот модуль программы
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
unit modyl;
interface
var t:string;
    i:integer;
procedure reks (t:string; i: integer);
implementation
procedure reks;
begin
 if t[i]=' ' then reks:=' '
  else
 reks:=t[i]+reks(t,i+1);
end;
end.
При компиляции модуля в 10 строчке паскаль выдаёт ошибку, подскажите в чём моя ошибка в лексике и как это исправить


Вот сама программа
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
program fd;
uses modyl;
var a,i:integer;
    st,s:string;
begin
 s:='';
 write ('stroky');
 readln (st);
 st:=' ' + st + ' ';
 a:=length (st);
 for i:=1 to a-1 do
 if (st[i]=' ' ) and  (st[i+1]<>' ') then s:=reks(st,i+1)+s;
 writeln (s);
 readln;
 end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2010, 17:56
Ответы с готовыми решениями:

Создать програму используя собственный модуль!
Привет всем!!! Можете помочь с написанием программы и модуля для нее. Вот условие:Даны два любых...

Создать процедуру, которая будет разделять строку (дата, месяц, год) на отдельные строки и создать обратную процедуру
Нужно создать процедуру, разделяющую ячейку на другие ячейки причем, число пробелов между словами...

Создать свой собственный модуль, использовать 3-5 процедур или функций
мне нужно создать свой собственный модуль, использовать 3-5 процедур или функций. Так же привести...

Создать рекурсивную процедуру sqrt
Создать рекурсивную процедуру sqrt(+X,+Eps,–N,–Y) вычисления квадратного корня заданного числа x по...

2
Почетный модератор
64227 / 47529 / 32736
Регистрация: 18.05.2008
Сообщений: 115,182
20.07.2010, 19:19 2
Вот, как-то писал похожее.
Только там было условие строка из русских букв, разделенных пробелами.
Например строка: мама мыла раму
будет: раму мыла мама
Текст модуля
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
unit RevStr;
interface
type mas=array[1..100] of string;
procedure Revers(var a:mas;i,j:byte);
implementation
procedure Revers;
var buf:string;
begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
inc(i);
dec(j);
if i<j then Revers(a,i,j);
end;
end.
Текст программы

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
uses Crt,RevStr;
var s,s1:string;
    a:mas;
    i,k,p:byte;
begin
clrscr;
repeat
writeln('Введите строку из русских слов, разделенных пробелами:');
readln(s);
k:=0;p:=0;
for i:=1 to length(s) do
 begin
  if not (s[i] in ['А'..'п','р'..'ё',' ']) then k:=1;
  if (s[i]<>' ')and(s[i-1]=' ') then p:=1;
 end;
if k=1 then writeln('Введены недопустимые символы');
if p=0 then writeln('Строка пустая или из 1 слова');
if(k=1)or(p=0) then writeln('Повторите ввод');
until(k=0)and(p=1);
s:=s+' ';
while pos('  ',s)>0 do delete(s,pos('  ',s),1);
k:=0;
while pos(' ',s)>0 do
 begin
  k:=k+1;
  a[k]:=copy(s,1,pos(' ',s));
  delete(s,1,pos(' ',s));
 end;
Revers(a,1,k);
for i:=1 to k do
write(a[i]);
readln
end.
1
7 / 7 / 3
Регистрация: 19.07.2010
Сообщений: 37
20.07.2010, 21:16  [ТС] 3
Спаисбо большое)
Как мир тесен ... это програму нам дали 2 группам на мат факе решать .. и кажется до этого ты писал программу моему старосте ))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2010, 21:16
Помогаю со студенческими работами здесь

Создать рекурсивную процедуру, формирующую последовательность строк
Написать программу,содержащую рекурсивную процедуру,формирующую последовательность строк: A BB...

Создать личный модуль, содержащий указанные подпрограммы. Написать программу, которая подключает созданный модуль и использует его подпрограммы
Создать личный модуль, содержащий указанные подпрограммы. Написать программу, которая подключает...

Вывод строки в обратном порядке через рекурсивную процедуру
Скопипастил сию процедурку, но вот как именно она работает так и не разобрался. Буду благодарен...

Напишите рекурсивную процедуру для печати всех букв строки
Дана строка, состоящая из букв и цифр. напишите рекурсивную процедуру для печати всех букв из этой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru