IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите составить блок схему к задаче, по готовому коду, 1 курс
red-green
сообщение 11.01.2010 17:51
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


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

Помогите пожалуйста, ато с блок-схемами не дружу, нужен наглядный пример, тем более мне еще много переводить будет надо


 type mn1=set of 'а'..'я';
const mn_gl: set of 'а'..'я' = ['а','е','ё','и','о','у','ы','э','ю','я'];
var
sn,s1,s2:string;
ii,j,kk,kol,max,pz,nach:integer;
c:char;
mn_b,mn:mn1;
begin
clrscr;
writeln('Примечание!Для перехода на русскую раскладку клавиатура');
writeln('нажмите одновременно правые Shift и Ctrl');
writeln('Введите строку');
read(sn);
kk:=-1;{Первое слово без пробела}
while (ii<=length(sn)) and (sn[ii]<>' ') do
begin
inc(kk);inc(ii);
end;
s1:=copy(sn,0,kk);
max:=0;
while ii<=length(sn) do
begin
kol:=kol+1;
if sn[ii]=' ' then
if kol>=max then
begin
max:=kol; pz:=ii;kol:=0;
end;
ii:=ii+1;
end;
nach:=pz;{Номер позици пробела после длинного слова}
pz:=pz-max+1;{Номер позиции с которой начинается длинное слово}
s2:=copy(sn,pz,nach-pz);{Самое длинное слово}
insert (s1,sn,pz+max-1);
delete(sn,pz,max-1);
Writeln('Измененная строка:');
writeln(sn);
writeln;
{Формируем множество букв из строки s}
for ii:=1 to length(sn) do
include(mn_b,sn[ii]);
{Выводим все использованные буквы}
writeln('Все использованные буквы:');
for c:='а' to 'я' do
if c IN mn_b then write©;
writeln;
writeln('Неиспользованные гласные:');
{Формируем множество из гласных букв встречающихся в строке s}
for ii:=1 to length(sn) do
if sn[ii] in mn_gl then include(mn,sn[ii]);
mn_gl:=mn_gl-mn;{Из всех гласных букв убрать те которые уже есть в строке}
for c:='а' to 'я' do
if c IN mn_gl then write©;
readkey;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 23.07.2025 22:20
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"