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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2013, 21:03   #21
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Код:
function convert(s: string): string;
var
  i: integer;
  f: boolean;
begin
  f := false;
  for i := 1 to length(s) do
    if s[i] = ' ' then
      f := true
    else if f and (s[i] = '+') then
      s[i] := '-'
    else
      f := false;
  convert := s;
end;
И без всяких Pos
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.04.2013, 18:42   #22
AlexP777
Пользователь
 
Регистрация: 18.10.2011
Сообщений: 33
По умолчанию

что то не так

Код:
program lab8var4;
var str:string;
function convert(s: string): string;
var
  i: integer;
  f: boolean;
begin
  f := false;
  for i := 1 to length(s) do
    if s[i] = ' ' then
      f := true
    else if f and (s[i] = '+') then
      s[i] := '-'
    else
      f := false;
  convert := s;
end; 
BEGIN
readln(str); writeln(str);
convert(str);
writeln(str);
end.
в результате получаю исходную строку
ввел: +++ dfgn+++ sdfg+++ +++++++
вывело: +++ dfgn+++ sdfg+++ +++++++
AlexP777 вне форума Ответить с цитированием
Старый 08.04.2013, 19:35   #23
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Что не удивительно.
Код:
writeln(convert(str));
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.04.2013, 22:46   #24
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, или так:
Код:
BEGIN
  readln(str); 
  writeln(str);
  str := convert(str);
  writeln(str);
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.04.2013, 23:00   #25
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Или так - вариантов полно:
Код:
program lab8var4;
var str:string;
procedure convert(var s: string);
var
  i: integer;
  f: boolean;
begin
  f := false;
  for i := 1 to length(s) do
    if s[i] = ' ' then
      f := true
    else if f and (s[i] = '+') then
      s[i] := '-'
    else
      f := false;
end; 
BEGIN
readln(str); writeln(str);
convert(str);
writeln(str);
end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 08.04.2013 в 23:04.
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками. Не большая задача. Yura2 Помощь студентам 2 28.06.2012 22:23
работа со строками.олимпиадная задача. Александра89 Помощь студентам 10 25.11.2011 16:52
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 20:19
Задача в Visual C++ 6.0, работа со строками Serezhik Visual C++ 6 30.11.2008 20:31
Работа со строками. Задача Memfis_nya Общие вопросы C/C++ 4 16.11.2008 18:42