Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/40: Рейтинг темы: голосов - 40, средняя оценка - 4.70
2 / 2 / 1
Регистрация: 03.11.2009
Сообщений: 227

В заданном тексте заменить каждую гласную букву символом ‘*’, а согласную – символом ‘+’,

03.11.2009, 13:51. Показов 8055. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В заданном тексте заменить каждую гласную букву символом ‘*’, а согласную – символом ‘+’,
Решил,но ниче не делает!!!Ужас просто!
program Projec33;

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
{$APPTYPE CONSOLE}
 
uses
  SysUtils;
 
Var     St,z: string;
    i: integer;
Begin
    Write('vvedite stroky teksta - St ');
    Readln(St);
    z:='а';
For i:=1 to length(St) do
  while St[i]=z do
      begin
   delete(st,i,1);
            insert('*',st,i);
         i:=i+1
    end;
      i:=i+1
  while St[i]<>z do
      begin
   delete(st,i,1);
            insert('+',st,i);
         i:=i+1
       end;
           i:=i+1
        writeln( st);
  readln(st);
   end;
 
End.
Добавлено через 51 секунду
В чем ошибка???ИЛИ КАК ПРАВИЛЬНО??? ПОМОГИТЕ,ЛЮДИ ДОБРЫЕ!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.11.2009, 13:51
Ответы с готовыми решениями:

В заданном тексте удвоить каждую согласную букву
Ваша программа должна в заданном тексте удвоить каждую согласную букву.

В заданном тексте удвоить каждую гласную букву
Ваша программа должна в заданном тексте удвоить каждую гласную букву.

Заменить каждую букву «а» предшествующем символом. Если буква «а» первая, то заменить ее на последнюю.
Напишите пожалуйста решение!СПАСИБО! Заменить каждую букву «а» предшествующем символом. Если буква «а» первая, то заменить ее на...

13
 Аватар для Dnnn
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
03.11.2009, 14:22
а зачем в цикле for еще внутри цикл while , в котором еще и счетчик i меняется?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Var     St,z, s: string;
    i: integer;
Begin
    Write('vvedite stroky teksta - St ');
    Readln(St);
    z:='аеёиоуэюя'; {может что из букв и забыла?}
    s:='бвгджзклмнпрстфхцчшщ';
For i:=1 to length(St) do
begin 
  if pos(St[i],z)>0 then St[i]:='*'
  else 
     if pos(St[i],s)>0 then St[i]:='+'
end;
  writeln(st);
  readln;
end.
2
 Аватар для STGE
773 / 578 / 324
Регистрация: 17.06.2009
Сообщений: 1,188
03.11.2009, 14:41
Может быть попробовать организовать данную задачу с помощью множества?
Да, Dnnn , вы забыли к согласным отнести "й", а к гласным "ы".
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
03.11.2009, 14:46
Dnnn, у вас не совсем точно будет работать программа в случае скажем: рыаРОПРОЫварарываоР роВАРОВАЛДРар. с буквами верхнего регистра ничего не произойдет... поэтому вот еще решение:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const
  gl=['а','е','ё','и','о','у','э','ю','ы','я'];
  sog=['б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ'];
var
  s:string;
  i:integer;
begin
  writeln('Введите текст...');
  readln(s);
  for i:=1 to length(s) do
  begin
    if LowCase(s[i]) in gl then
      s[i]:='*';
    if LowCase(s[i]) in sog then
      s[i]:='+'
  end;
  writeln('Полученный текст:');
  writeln(s)
end.
Добавлено через 2 минуты
STGE, это не так важно... автор может и сам это сделать... тут знания программирования ни к чему...
1
 Аватар для Dnnn
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
03.11.2009, 14:49
Inadequate, а lowcase или up... для русских букв действует? оно ведь вроде только для латинских работает? хотя могу и ошибаться.
ну в крайнем случае можно и в множества/строки с буквами включить попарно и строчные и заглавные
0
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
03.11.2009, 14:54
Цитата Сообщение от Dnnn Посмотреть сообщение
а lowcase или up... для русских букв действует? он
ну конечно я же проверил. все как часы
Цитата Сообщение от Dnnn Посмотреть сообщение
ну в крайнем случае можно и в множества/строки с буквами включить попарно и строчные и заглавные
да я согласен. но все равно так не хочется писать тоже самое но еще и большими
1
 Аватар для STGE
773 / 578 / 324
Регистрация: 17.06.2009
Сообщений: 1,188
03.11.2009, 15:04
Да, это ужасно смотрится:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Program mgi;
Uses crt;
Const sk='*';ks='+';
Var i,n:integer; t:string;
Begin
Clrscr;
Writeln('Vvedite text: ');Read(t);
n:=length(t);
For i:=1 to n do
if t[i] in ['a','e','i','o','u','y','A','E','I','O','U','Y'] then t[i]:=sk
else if t[i] in ['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','z']+
['Z','B','C','D','F','G','H','J','K','L','M','N','P','Q','R','S','T','V','W','X'] then t[i]:=ks;
Writeln('Vot chto poluchilos: ',t);
End.
1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
03.11.2009, 15:11
Inadequate, Странно что у тебя работает. Dnnn права, это для латиницы да и то в Паскале есть только UpCase(). В Делфи для латиницы
 LowerCase(const S: string): string — преобразует все заглавные буквы строки S к строчным; не учитывает местный язык (в преобразовании участвуют лишь символы в диапазоне от 'A' до 'Z').
 UpperCase(const S: string): string — преобразует все строчные буквы строки S в заглавные; не учитывает местный язык (в преобразовании участвуют лишь символы в диапазоне от 'a' до 'z').
Для русских
 AnsiLowerCase(const S: string): string — преобразует заглавные буквы строки S к строчным буквам с учетом местного языка.
 AnsiUpperCase(const S: string): string — преобразует все строчные буквы в заглавные; учитывает местный язык.
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
03.11.2009, 15:17
Цитата Сообщение от STGE Посмотреть сообщение
Да, это ужасно смотрится:
Не хочу обидеть, но этот текст смотрится не ужасно, а безграмотным... Зачем под '+' и '*' length(t) заводить переменные??? и множества надо было описать в разделе констант, а не в такую кашу...
К тому же я решил уже этим способом задачу...

Добавлено через 2 минуты
Puporev, действительно работает... я ж проверил... может из за того конечно что у меня не турбо, но другого нет...
1
 Аватар для Dnnn
1063 / 130 / 34
Регистрация: 09.10.2009
Сообщений: 271
03.11.2009, 15:34
Цитата Сообщение от Inadequate Посмотреть сообщение
Не хочу обидеть, но этот текст смотрится не ужасно, а безграмотным... Зачем под '+' и '*' length(t) заводить переменные??? и множества надо было описать в разделе констант, а не в такую кашу...

Добавлено через 2 минуты
Puporev, действительно работает... я ж проверил... может из за того конечно что у меня не турбо, но другого нет...
насчет того зачем под length(t) переменную, - возможно действительно чуть более оптимально - length же функция, вычисляться будет надо полагать каждый раз при проверке условия цикла, а так один раз вызвал, присвоил значение переменной и все ОК. другой вопрос - как считается эта функция, может просто берется integer(t[0]) и выигрыша особого не будет.
1
2 / 2 / 1
Регистрация: 03.11.2009
Сообщений: 227
03.11.2009, 17:36  [ТС]
Цитата Сообщение от STGE Посмотреть сообщение
Да, это ужасно смотрится:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Program mgi;
Uses crt;
Const sk='*';ks='+';
Var i,n:integer; t:string;
Begin
Clrscr;
Writeln('Vvedite text: ');Read(t);
n:=length(t);
For i:=1 to n do
if t[i] in ['a','e','i','o','u','y','A','E','I','O','U','Y'] then t[i]:=sk
else if t[i] in ['b','c','d','f','g','h','j','k','l','m','n','p','q','r','s','t','v','w','x','z']+
['Z','B','C','D','F','G','H','J','K','L','M','N','P','Q','R','S','T','V','W','X'] then t[i]:=ks;
Writeln('Vot chto poluchilos: ',t);
End.
Вот когда это все вставляешь в Делфи ...оно его как бы наверное делает но быстро сразу закрывает...я добавила в конце readln(t) но результат не изменился..(( в чем дело?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
03.11.2009, 17:40
Цитата Сообщение от barlog Посмотреть сообщение
readln(t)
нужно просто readln без t, а то снова читаете переменную, которую не ввели.
1
 Аватар для STGE
773 / 578 / 324
Регистрация: 17.06.2009
Сообщений: 1,188
03.11.2009, 17:44
Зачем под '+' и '*' length(t) заводить переменные???
Inadequate, отвечаю на твой вопрос:
1) '+' и '*' - это константы, а не переменные
2) length(t) ввёл потому, что мне так удобнее
На счёт множеств с тобой соглашусь, действительно, каша полнейшая получилась, но всё же работает.
1
Retired
7727 / 2559 / 671
Регистрация: 17.10.2009
Сообщений: 5,100
03.11.2009, 18:09
STGE, ну на счет первого пункта я думаю ты понял что я хотел сказать. можно просто было s[i]:='+' or s[i]:='*' а так лишние строчки кода.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.11.2009, 18:09
Помогаю со студенческими работами здесь

Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на символ «–»
Ввести строку с клавиатуры. Вывести средний символ строки. Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на...

Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на символ «–»
Задание: Поменять каждую согласную русскую букву на цифру «8», а каждую гласную – на символ «–» #include &quot;stdafx.h&quot; #include...

Каждую латинскую букву, которая находится перед первым символом *, заменить на точку
Если в заданном тексте нет символа *, то оставить его без изменения. В противном случае каждую латинскую букву, которая находится перед...

Напишите программу,которая заменит в заданном тексте каждую цифру символом "?":
Помогите пожалуйста)

Дан текст. Заменить каждую букву перед буквой "а" символом
Помогите. Нужно написать программу на C++. Задача такая - вводим текст. Надо чтобы каждая буква перед &quot;a&quot; была заменена на...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator без VPN. Сборка проекта из Qt Creator с помощью CMake для разработки обычных C/C++ проектов без установки фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru