0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 12
1

Сделать большими все буквы в тех словах, длина которых меньше половины длины самого длинного слова строки

25.04.2013, 23:30. Показов 1517. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
на Тurbo Pascal с использованием множеств, процедур и функций
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.04.2013, 23:30
Ответы с готовыми решениями:

Сделать большими все буквы в тех словах, длина которых меньше половины длины самого длинного слова
программа с множествами, процедурами и функциями на turbo pascal Работать с символами и со...

Сделать большими все буквы в тех словах, в которых согласных букв меньше гласных
Здравствуйте! Помогите, пожалуйста, написать программу. Сделать большими все буквы в тех словах,...

Сделать большими все буквы в тех словах, длина которых меньше половины длины самого длинного слова строки
Здравствуйте,помогите пожалуйста решить Сделать большими все буквы в тех словах,длина которых...

Сделать большими все буквы в тех словах, которые начинаются с той же буквы, что и последнее
Сделать большими все буквы в тех словах, которые начинаются с той же буквы, что и последнее слово...

1
trainspotting
1086 / 486 / 384
Регистрация: 11.11.2010
Сообщений: 773
26.04.2013, 02:47 2
Лучший ответ Сообщение было отмечено Tanyakoroleva как решение

Решение

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
const
  delims=[' ','.',',','!','?',':',';'];
  maxStringLength=80;
type
  Tstring=string[maxStringLength];
function findWord(const s:Tstring; start:integer; var wordStart,wordLen:integer):boolean;
var
  i:integer;
begin
  i:=start;
  while (i<=length(s)) and (s[i] in delims) do
    inc(i);
  wordStart:=i;
  while (i<=length(s)) and not(s[i] in delims) do
    inc(i);
  wordLen:=i-wordStart;
  findWord:=wordLen>0;
end;
function getLenLongestWord(const s:Tstring):integer;
var
  beg,len,i,maxLen:integer;
begin
  maxLen:=0;
  i:=1;
  while findWord(s,i,beg,len) do
    begin
      if len>maxLen then
        maxLen:=len;
      i:=beg+len;
    end;
  getLenLongestWord:=maxLen;
end;
function makeBigChar(ch:char):char;
var
  resChar:char;
begin
  case ch of
    'a'..'z': resChar:=upCase(ch);
    'а'..'п': resChar:=chr(ord(ch)-32);
    'р'..'я': resChar:=chr(ord(ch)-80);
    'ё': resChar:='Ё';
  else
    resChar:=ch;
  end;
  makeBigChar:=resChar;
end;
procedure handleString(var s:Tstring);
var
  i,j,beg,len,maxLen:integer;
begin
  maxLen:=getLenLongestWord(s);
  i:=1;
  while findWord(s,i,beg,len) do
    begin
      if len<maxLen div 2 then
        for j:=1 to len do
          s[beg+j-1]:=makeBigChar(s[beg+j-1]);
      i:=beg+len;
    end;
end;
var
  str:Tstring;
begin
  writeln('Введите строку:');
  readln(str);
  handleString(str);
  writeln('Преобразованная строка:');
  writeln(str);
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2013, 02:47
Помогаю со студенческими работами здесь

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

Заменить все символы 'a' на 'd' в словах, длина которых меньше выбранной
Заменить все символы 'a' на 'd' в словах, длина которых меньше выбранной Помогите пожалуйста,...

В заданном тексте вывести те слова, длина которых меньше средней длины слов этого текста
В заданном тексте вывести те слова, длина которых меньше средней длины слов этого текста. прошу...

Удалить из файла все слова, длина которых меньше половины длины самого длинного слова второй строки
Переписать текст в файл output.txt, удалив из него все слова, длина которых меньше половины длины...


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

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

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