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

Дан текст.Если первый символ текста не является малой латинской буквой, то оставить его без изменения

25.11.2011, 13:26. Показов 3069. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте форумчане! Обращаюсь в который раз к вам с просьбой.
Помогите пожалуйста запустить программу.
Условие задачи. Дан текст. Если первый символ текста не является малой латинской буквой, то оставить его без изменения. Если же это маленькая латинская буква, но за начальной группой малых латинских букв не следует цифра, то также оставить текст без изменения. Иначе каждую цифру, принадлежащую группе цифр, следующей за начальной группой малых латинских букв, заменить символом *.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program N_813;
uses crt;
const cif=['0','1','2','3','4','5','6','7','8','9'];
var f, g: text; l, i: integer;
    s: string;
begin
    assign(f,'D:\4319-1\Zadania\Text.txt');
    assign(g,'D:\4319-1\Zadania\Simvoli.txt');
    reset(f); rewrite(g);
    while not(eof(f)) do begin
     readln(g,s);
    l:=length(s);
     for i:=1 to l do begin
     if not(s[1] in ['a'..'z']) then s[1]:=s[1];
      if  (s[1] in ['a'..'z']) and not(s[i+5] in cif) then s[1]:=s[1]
       else s[i+5]:='*';
     write(g,s[i]);
       end; end;
     close(f);close(g);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2011, 13:26
Ответы с готовыми решениями:

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

Дан текст, каждый символ которого может быть малой буквой
Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +,-,*. ...

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

Дан текст. Если в тексте нет символа *, то оставить этот текст без изменения, иначе каждую из малую букву, перед первым вхождением *, заменить на 3
Задача 3 Программирование алгоритмов обработки текстовой Дан текст. Если в тексте нет символа *,...

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
25.11.2011, 14:13 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
const
   lett = ['a' .. 'z'];
   digs = ['0' .. '9'];
var
   s : string;
   i, Len : integer;
begin
   s := 'begin@23 end';
   // s := 'begin223 end';
   // s := 'begin1';
 
   // первый символ - строчная латинская буква? Тогда продолжаем ...
   if s[1] in lett then
   begin
      i := 2; // со второго символа
      Len := length(s);
 
      // пока не доберемся до конца строки, или пока не закончится начальная группа
      // букв - переходим к след. символу.
      while (i <= Len) and (s[i] in lett) do inc(i);
 
      // Раз пришли сюда - то группа начальных букв закончилась. И теперь осталось
      // заменить цифры звездочками. Заменяем. Если сразу за группой букв не будет
      // цифры - то условие изначально будет ложным, и не изменится вообще ничего,
      // что и требовалось
      while (i <= Len) and (s[i] in digs) do
      begin
         s[i] := '*';
         inc(i);
      end;
   end;
 
   // Всё, смотрим что получилось и уходим
   writeln(s);
end.
1
2 / 2 / 3
Регистрация: 29.06.2011
Сообщений: 33
25.11.2011, 14:39  [ТС] 3
Благодарю!

Добавлено через 9 минут
Я изменила твою программу для файлов. Вот:
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
program N_813;
uses crt;
const
   lett = ['a' .. 'z'];
   digs = ['0' .. '9'];
var
   f,g: text;
   s : string;
   i, Len : integer;
begin
   assign(f,'D:\4319-1\Zadania\+-\813\Text.txt');
   assign(g,'D:\4319-1\Zadania\+-\813\Text izmen.txt');
   reset(f);  rewrite(g);
   while not(eof(f)) do begin
   readln(f,s);
   //s := 'begin111 @  23 end';
   // s := 'begin223 end';
   // s := 'begin1';
 
   // первый символ - строчная латинская буква? Тогда продолжаем ...
   if s[1] in lett then
   begin
      i := 2; // со второго символа
      Len := length(s);
 
      // пока не доберемся до конца строки, или пока не закончится начальная группа
      // букв - переходим к след. символу.
      while (i <= Len) and (s[i] in lett) do inc(i);
 
      // Раз пришли сюда - то группа начальных букв закончилась. И теперь осталось
      // заменить цифры звездочками. Заменяем. Если сразу за группой букв не будет
      // цифры - то условие изначально будет ложным, и не изменится вообще ничего,
      // что и требовалось
      while (i <= Len) and (s[i] in digs) do
      begin
         s[i] := '*';
         inc(i);
      end;
   end;
 
   // Всё, смотрим что получилось и уходим
   writeln(g,s); readkey; end; close(f); close(g);
end.
0
25.11.2011, 14:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2011, 14:39
Помогаю со студенческими работами здесь

Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +,*,-
дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +,*,-....

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

дан текст, если в нем имеется малых латинских букв, то оставить его без изминения, иначе Каждый из символов, с
дан текст, если в нем имеется малых латинских букв, то оставить его без изминения, иначе Каждый из...

Определить, является ли данный символ латинской буквой
Определить, является ли данный символ латинской буквой. program z1; var i,j,s,n,m:integer;...


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

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