С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 07.10.2015
Сообщений: 80
1

Вывести строку, содержащую те же символы, но расположенные в обратном порядке

29.10.2015, 21:49. Показов 2303. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задано строку. Вывести строку, содержащую те же символы, но расположенные в обратном порядке.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2015, 21:49
Ответы с готовыми решениями:

Вывести строку, содержащую те же символы, но расположенные в обратном порядке.
помогите, пожалуйста, решить задачи на строки 1) Дана строка. Вывести строку, содержащую те же...

Вывести строку, содержащую те же символы, но расположенные в обратном порядке
Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке.

Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке
Дана строка. Вывести строку, содержащую те же символы, но расположенные в обратном порядке

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

10
5 / 5 / 2
Регистрация: 15.05.2014
Сообщений: 81
29.10.2015, 22:37 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses crt;
var
a:string;
i,e:integer;
begin
writeln('Введите строку:');
readln(a);
e:=pos('.',a);
if e>0 then
for i:=e-1 downto 1 do
write(a[i])
else writeln('отсутствует точка.');
read;
end.
0
1 / 1 / 0
Регистрация: 07.10.2015
Сообщений: 80
30.10.2015, 02:14  [ТС] 3
на любую строку отвечает отсувствует точка.
0
1647 / 1076 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
30.10.2015, 09:27 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

3 варианта:

Pascal
1
2
3
4
5
Function StRevers(St : String) : String;
Begin
  If Length(St)>0 then StRevers:=StRevers(Copy(St,2,Length(St)-1))+St[1]
   else StRevers:='';
end;
Pascal
1
2
3
4
5
6
7
8
9
10
Function StRevers(St :String) : String;
Var
  ii  : Longint;
  St0 : String;
Begin
  St0:='';
 For ii:=length(St) downto 1 do
  St0:=St0+St[ii];
  StRevers:=St0;
end;
Pascal
1
2
3
4
5
Function StRevers(St : String) : String;
Begin
  If Length(St)>1 then StRevers:=St[Length(St)]+StRevers(Copy(St,2,Length(St)-2))+St[1]
   else StRevers:=St;
end;
1
охотник
1011 / 535 / 650
Регистрация: 29.09.2014
Сообщений: 1,083
30.10.2015, 13:52 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

4 вариант:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var s:string;
Function StRevers(St :String) : String;
Var
  i,n: longint;t:char;
Begin
  n:=length(st);
  For i:=1 to n div 2 do
   begin
    t:=st[i];
    st[i]:=st[n-i+1];
    st[n-i+1]:=t
   end;
  StRevers:=St
end;
begin
 write('введите строку: ');readln(s);
 writeln(strevers(s))
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7795 / 4618 / 2830
Регистрация: 22.11.2013
Сообщений: 13,113
Записей в блоге: 1
30.10.2015, 15:48 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

APALoff,
еще пара нерекурсивных вариантов:
Pascal
1
2
3
4
5
6
7
8
9
function StrRev(s: String): String;
var i, j: Integer; t: Char;
begin
  i:=1; j:=Length(s);
  while i<j do begin
    t:=s[i]; s[i]:=s[j]; s[j]:=t; Inc(i); Dec(j);
  end;
  StrRev:=s;
end;
Pascal
1
2
3
4
5
6
7
8
9
function StrRev(s: String): String;
var i, j: PChar; t: Char;
begin
  i:=@s[1]; j:=@s[Length(s)];
  while i<j do begin
    t:=i^; i^:=j^; j^:=t; Inc(i); Dec(j);
  end;
  StrRev:=s;
end;
1
1647 / 1076 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
30.10.2015, 15:53 7
Посыпали варианты... я надеюсь меня правильно поняли: написав "3 варианта", я не подразумеваю, что их всего 3 и других быть не может
1
5 / 5 / 2
Регистрация: 15.05.2014
Сообщений: 81
01.11.2015, 11:40 8
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
uses crt;
var
a:string;
i,e:integer;
begin
writeln('Введите строку:');
readln(a);
e:=pos('.',a);
if e>0 then
for i:=e-1 downto 1 do
write(a[i])
else writeln('отсутствует точка.');
read;
end.
Тут в конце каждой строчки надо ставить точку
0
1647 / 1076 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
01.11.2015, 14:05 9
Цитата Сообщение от _Nilan Посмотреть сообщение
Тут в конце каждой строчки надо ставить точку
А зачем? В условиях ничего не сказано ни о какой точке. Вы пытаетесь приладить код от другой задачи под новые условия?
0
5 / 5 / 2
Регистрация: 15.05.2014
Сообщений: 81
05.11.2015, 08:55 10
Нет просто само предложение всегда по орфографии заканчивается точкой, соответственно точка это часть предложения.
0
1647 / 1076 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
05.11.2015, 09:05 11
_Nilan, в условии о предложении ничего не говорится - есть строка без всякой привязки к построению предложения! Поэтому все равно не понятно, зачем Вы привели такой код.
0
05.11.2015, 09:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2015, 09:05
Помогаю со студенческими работами здесь

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

Вывести строку, содержащую те же символы, но рас- положенные в обратном порядке.
String10. Дана строка. Вывести строку, содержащую те же символы, но рас- положенные в обратном...

Вывести строку, содержащую эти же слова, разделенные одним пробелом и расположенные в алфавитном порядке
Помогите с задачкой Дана строка, состоящая из русских слов, набранных заглавными буквами и...

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


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

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