Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 13.03.2017, 16:25   #1
Денис123321
 
Регистрация: 16.02.2017
Сообщений: 7
Репутация: 10
Вопрос Не знаю что у меня не правильно вроде все написал но что-то не хочет выполнятся помогите исправить

Вот задание,
Дано непустое последовательность слов, заканчивается символом "%".
Выписать все шипящие согласные, входящих хотя бы в одном,
расположить их в алфавитном порядке.
Мой код
Код:

var 
tekst: string; 
i,j,len,len1: integer; 
buk: string; 
ke: char; 
pr:= [' ']; 
sh:= ['ц','ч','ш','щ']; 
zn:= [' ',',','.',';',':','!','?']; 
begin 

writeln('Введіть текст,що закінчується `%`'); 
read (tekst); 
len:=length(tekst); 
for i:=1 to len do begin 
if tekst[i]='%' then begin 
buk:=buk+tekst[i-1]; 
break; 
end; 
if (tekst[i] in zn) then begin 
if tekst[i+2] in pr then buk:=buk+tekst[i-1] else buk:=buk+tekst[i-1]; 
end; 
end; 

writeln(buk); 
writeln; 
writeln; 
len1:=length(buk); 
i:=1; 
repeat 
if buk[i] in zn then begin 
delete(buk,i,1); 
len1:=len1-1; 
end; 
i:=i+1; 
until i=len1; 


len1:=length(buk); 
for i:=1 to len1-1 do 
for j:=i+1 to len1 do 
if buk[j] in sh then 
if buk[i]>buk[j]then 
begin 
ke:=buk[i]; 
buk[i]:=buk[j]; 
buk[j]:=ke; 
end; 
writeln(buk); 
end.


Последний раз редактировалось Аватар; 13.03.2017 в 17:29.
Денис123321 вне форума   Ответить с цитированием
Старый 13.03.2017, 17:50   #2
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,394
Репутация: 1965
По умолчанию

Цитата:
но что-то не хочет выполнятся
и что же это значит ?..
1. выдает ошибки компиляции. КАКИЕ?
2. работает, но выдает не те результаты. ЧТО вводим, ЧТО ждем получить и ЧТО получаем на самом деле.
3. при запуске "вылетает" с ошибкой. КАКОЙ?
__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Старый 16.03.2017, 02:30   #3
Денис123321
 
Регистрация: 16.02.2017
Сообщений: 7
Репутация: 10
По умолчанию

программа не выводит шипящие, вообще. Она выводит разные буквы в том числе и гласные
Денис123321 вне форума   Ответить с цитированием
Старый 16.03.2017, 05:23   #4
Hitoku
Пользователь
 
Аватар для Hitoku
 
Регистрация: 05.03.2017
Сообщений: 17
Репутация: 10
По умолчанию

В каком Паскале работаете? И скажите, что в итоге должно произойти, потому из вашего описания мало что понятно
__________________
Здесь должна быть подпись... Но чего-то лень придумывать(
Hitoku вне форума   Ответить с цитированием
Старый 16.03.2017, 05:29   #5
Hitoku
Пользователь
 
Аватар для Hitoku
 
Регистрация: 05.03.2017
Сообщений: 17
Репутация: 10
По умолчанию

Если просто выдать и отсортировать все шипящие, то вот для PascalABC.Net
Код:

begin
  Print(ReadString('Введите строку: ').Where(v->'цчшщ'.Contains(v)).ToArray.Sorted.JoinIntoString(', '));
end.

__________________
Здесь должна быть подпись... Но чего-то лень придумывать(
Hitoku вне форума   Ответить с цитированием
Старый 16.03.2017, 10:23   #6
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,394
Репутация: 1965
По умолчанию

Цитата:
программа не выводит шипящие, вообще. Она выводит разные буквы в том числе и гласные
т.е.
Цитата:
2. работает, но выдает не те результаты. ЧТО вводим, ЧТО ждем получить и ЧТО получаем на самом деле.
и где же все эти ЧТО?

Код:

if buk[i] in zn then begin //если буква из нашего списка(шипящая) то
delete(buk,i,1); // удаляем ЕЁ
... //если мы что-то удалим то на этом месте появится новая буква (та что была дальше)
end; 
i:=i+1; // но несмотря на это мы все равно двигаемся дальше?...

__________________
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 16.03.2017 в 10:25.
evg_m вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посмотрите) Вроде правильно все но не работает. Что не так? Bane БД в Delphi 14 13.03.2014 22:14
Прошу прощения. Но у меня опять проблема. Написал код но что то неправельно потправте меня. Sergey 23 Visual C++ 2 15.09.2012 19:59
Люди проблема со змейкой ужасно долго старался но не получилось в одном месте, хотя вроде бы все правильно написал! zhenka619 Паскаль 4 24.01.2012 16:30
вот задачка на массив не сложная.я написал но не хочет рабатать что то BERT Помощь студентам 4 10.03.2009 19:23
Помогите исправить ошибку пожал-та. Что то вроде транслитератора. Gauss Общие вопросы Delphi 23 04.03.2008 22:16




07:42.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru