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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2010, 19:04   #1
dante92
Пользователь
 
Регистрация: 07.12.2009
Сообщений: 28
По умолчанию Паскаль массив

Это програмка,вставляющая 2 пробела до всех символов,не принадлежащих некоторому множеству,задаваемому с клавиатуры.Она немного недоделана а именно недоделана в цикле repeat...until,подскажите что делать плиз.
const
dim=20;
Type
TVector=Array[1..50] of char;
setofchar=set of char;
Var
Mnojestvo:setofchar;
Vector:TVector;
Num,NumBeg,I,J:Byte;
Vstavl:char;
Begin
Writeln('Введите не более ',Dim,' символов');
Writeln('Конец ввода по ENTER');
Num:=0;
While not EOLN do
begin
Inc(Num);
Read(Vector[Num]);
end;
Readln;
Mnojestvo:=[];
write('Задайте множество символов ');
writeln('Конец ввода по enter');
while not EOLN do
begin
read(vstavl);
include(mnojestvo,vstavl);
end;
NumBeg:=Num;
I:=0;
Repeat
Inc(I);
If not (Vector[I] in mnojestvo)
then
begin
For J:=Num downto I+1 do
Vector[J+2]:=Vector[J];
Vector[I+1]:=' ';
Vector[I+2]:=' ';
Inc(Num);
Inc(Num);
end;
Until I=Num;
If NumBeg<>Num
then
begin
Writeln('Массив после вставки',Num-NumBeg,' пробелов ');
For I:=1 to Num do
Write(Vector[I],' ');
Writeln;
end
else
Writeln('Все символы принадлежат заданному множеству,значит пробелы не вставлены. Массив не изменен');
Readln
End.

Последний раз редактировалось dante92; 01.04.2010 в 20:27.
dante92 вне форума Ответить с цитированием
Старый 01.04.2010, 23:14   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Что значит до всех символов? Перед символами которые не входят во вмножество добавить пробелы?
Код:
For J:=Num downto I do
  Vector[J+2]:=Vector[J];
  Vector[I+0]:=' ';
  Vector[I+1]:=' ';
  Inc(Num);inc(i);
  Inc(Num);inc(i);
end;
eoln вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив.Паскаль. ulia8412 Помощь студентам 2 19.12.2009 20:34
паскаль. массив анна1. Помощь студентам 1 29.11.2009 13:16
Паскаль.Массив **star** Помощь студентам 5 09.01.2009 16:04