Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

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

Вот задание,
Дано непустое последовательность слов, заканчивается символом "%".
Выписать все шипящие согласные, входящих хотя бы в одном,
расположить их в алфавитном порядке.
Мой код
Код:
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 в 16:29.
Денис123321 вне форума Ответить с цитированием
Старый 13.03.2017, 16:50   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

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

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

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

Если просто выдать и отсортировать все шипящие, то вот для PascalABC.Net
Код:
begin
  Print(ReadString('Введите строку: ').Where(v->'цчшщ'.Contains(v)).ToArray.Sorted.JoinIntoString(', '));
end.
Здесь должна быть подпись... Но чего-то лень придумывать(
Hitoku вне форума Ответить с цитированием
Старый 16.03.2017, 09:23   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

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

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

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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