Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 02.11.2012
Сообщений: 14
1

Дана строка, состоящая из слов, разделенных пробелами. Если встречаются слова из 2 букв то заменить их *

02.11.2012, 11:05. Просмотров 1348. Ответов 1
Метки нет (Все метки)


ребята, помогите напишите код
даны строка s состоящая из слов разделенных пробелами, если встречаются слова из 2 букв то заменить их *. Написать с использованием стандартных подпрограм и без них.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2012, 11:05
Ответы с готовыми решениями:

Дана строка, состоящая из слов, разделенных пробелами. Посчитать количество сдвоенных букв в ведении тексте
Дана строка, состоящая из слов, разделенных пробелами. Посчитать количество сдвоенных букв в...

Дана строка состоящая из слов, разделенных пробелами. Посчитать количество сдвоенных букв во ведённом тексте.
Дана строка состоящая из слов, разделенных пробелами. Посчитать количество сдвоенных букв во...

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

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

1
13062 / 5848 / 1705
Регистрация: 19.09.2009
Сообщений: 8,807
02.11.2012, 13:58 2
Лучший ответ Сообщение было отмечено maks_lin как решение

Решение

С применением стандартных процедур ( процедура Delete() ).
Delphi
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
//С применением стандартных процедур.
procedure TForm1.Button1Click(Sender: TObject);
const
  D = [#9, #10, #13, #32]; //Множество разделителей.
var
  S : String;
  i, Len, LenW : Integer;
begin
  S := Memo1.Text;
  Len := Length(S);
  LenW := 0;
  for i := Len downto 1 do //Перебор символов строки справа-налево.
    if not (S[i] in D) then begin //Если символ не является разделителем.
      Inc(LenW); //Учитываем символ в длине слова.
      if (i = 1) or (S[i - 1] in D) then begin //Если найдено начало слова.
        if LenW = 2 then begin //Если длина слова оказалась равной 2.
          Delete(S, i, LenW - 1);
          S[i] := '*';
        end;
        LenW := 0;
      end;
    end;
 
  //Ответ.
  Memo2.Text := S;
end;
Без применения стандартных процедур.
Delphi
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
//Без применения стандартных процедур.
procedure TForm1.Button1Click(Sender: TObject);
const
  D = [#9, #10, #13, #32]; //Множество разделителей.
var
  S : String;
  i, j, Len, LenW : Integer;
begin
  S := Memo1.Text;
  Len := Length(S);
  LenW := 0;
  j := 0;
  for i := 1 to Len do begin //Перебор символов строки слева-направо.
    Inc(j);
    S[j] := S[i];
    if not (S[i] in D) then begin //Если символ не является разделителем.
      Inc(LenW); //Учитываем символ в длине слова.
      if (i = Len) or (S[i + 1] in D) then begin //Если найден конец слова.
        if LenW = 2 then begin
          Dec(j, LenW - 1);
          S[j] := '*';
        end;
        LenW := 0;
      end;
    end;
  end;
  //Новая длина строки.
  SetLength(S, j);
 
  //Ответ.
  Memo2.Text := S;
end;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2012, 13:58

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Дана строка, состоящая из латинских слов, разделенных пробелами. Определить длину самого короткого слова
Дана строка, состоящая из латинских слов, разделенных пробелами. Определить длину самого короткого...

Дана строка, состоящая из латинских слов, разделенных пробелами. Определить длину самого короткого слова.
Дана строка, состоящая из латинских слов, разделенных пробелами. Определить длину самого короткого...

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

Дана строка текста, состоящая из слов и чисел, разделенных пробелами, вывести самые короткие слова строки
Дана строка текста, состоящая из слов и чисел, разделенных пробелами, вывести самые короткие слова...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.