Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 06.05.2015
Сообщений: 15
1

Организовать циклическую перестановку слов

23.03.2017, 09:58. Показов 568. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Для фразы на русском языке, в которой нет знаков препинания, а слова отделяются одним единственным пробелом, организовать циклическую перестановку слов. Например: Исходная фраза:
ВЕЧЕРАМИ МЫ СМОТРИМ ТЕЛЕВИЗОР
Циклическая перестановка слов:
МЫ СМОТРИМ ТЕЛЕВИЗОР ВЕЧЕРАМИ
СМОТРИМ ТЕЛЕВИЗОР ВЕЧЕРАМИ МЫ
ТЕЛЕВИЗОР ВЕЧЕРАМИ МЫ СМОТРИМ
ВЕЧЕРАМИ МЫ СМОТРИМ ТЕЛЕВИЗОР

Добавлено через 7 часов 2 минуты
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
 
const nmax=100;
 
type m=array [1..nmax] of string;
 
var i,c,tmp:byte;
    s:string;
    p:integer;
    A:m;
    B:array[1..nmax,1..nmax] of integer;
 
Procedure vvodstroki(var st:string);
 
begin
readln(st);
st:=st+concat(' ');
end;
 
function Revers(s:string;k:byte):string;
var s1:string;
begin
if k=1 then Revers:=s[k]
else Revers:=s[k]+Revers(s,k-1);
end;
Procedure kol_slov(st:string; var k:integer);
 
begin
 
k:=0;
repeat
for var i:=1 to length(st) do
 if st[i] = ' ' then
  k:=k+1;
until k in [1..nmax];
 
 
end;
 
 
Begin
 
 
vvodstroki(s);
kol_slov(s,p);
for i:=1 to p  do
 begin
  A[i]:=copy(s,1,pos(' ',s)-1);
  delete(s,1,pos(' ',s));
 end;
 
 
 
   for i:=1 to p do 
   for var j:=1 to p do B[i,j]:=j;
   
   for i:=1 to p do begin
   swap(B[i,random(1,p)],B[i,random(1,p)]);
   swap(B[i,random(1,p)],B[i,random(1,p)]);
   swap(B[i,random(1,p)],B[i,random(1,p)]);
   swap(B[i,random(1,p)],B[i,random(1,p)]);
   swap(B[i,random(1,p)],B[i,random(1,p)]);
   end;
   c:=p;
   
   tmp:=1;
   for i:=1 to c do begin
 for var j:=1 to c do begin
 write(A[B[i,j]],' ');
 tmp:=random(1,c);
 end;
 writeln;
 end;
 
 
 
end.
Спасибо за помощь...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2017, 09:58
Ответы с готовыми решениями:

создать одномерный массив X[1..10] случайным образом.Вывести его в строку.Затем сделать циклическую перестановку
создать одномерный массив X случайным образом.Вывести его в строку.Затем сделать циклическую...

Обеспечить перестановку слов в списке в обратном порядке
Добрый день. Очень нужна помощь с решением задачки по Pascal. Задачка в принципе не трудная,...

В исходной строке а произвести перестановку по алфавиту всех четных слов
Задание 2. В исходной строке а произвести перестановку по алфавиту всех четных слов. Вывести...

В исходной строке а произвести перестановку по алфавиту всех четных слов
В исходной строке а произвести перестановку по алфавиту всех четных слов. Вывести исходную и...

1
Модератор
10029 / 5375 / 3348
Регистрация: 17.08.2012
Сообщений: 16,383
23.03.2017, 15:50 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var s, t: string;
    p: integer;
begin
  writeln('Введите строку:');
  readln(s);
  s := s + ' ';
  //здесь можно добавить проверку на корректность формата строки
  t := s;
  writeln;
  repeat
    writeln(t);
    p := pos(' ', t);
    t := copy(t, p + 1, length(s) - p) + copy(t, 1, p)
  until t = s;
  readln
end.
не за что, торопливый Вы наш...
2
23.03.2017, 15:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2017, 15:50
Помогаю со студенческими работами здесь

Организовать циклическую перестановку слов
Нужно ввести N-ое количество строк,каждая строка имеет N-ое. количество слов(макс.100 символов),и...

В исходной строке произвести циклическую перестановку слов влево на n слов
В исходной строке a$ произвести циклическую перестановку слов влево на n слов. Вывести исходную и...

В исходной строке а$ произвести циклическую перестановку слов вправо на n слов. Вывести исходную и полученную
Помогите решить,пожалуйста: В исходной строке а$ произвести циклическую перестановку слов вправо на...

Выполнить циклическую перестановку элементов массива влево или вправо
Сформулировать одномерный массив целых чисел, используя датчик случайных чисел. По запросу...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru