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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2011, 18:14   #1
LittleStudent
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 17
По умолчанию Вставить пробел до и после каждой цифры текста

Вот что у меня получилось.
Объясните плз что не так?
Код:
Program InsertSpace;
Const
  Bykva: Set Of Char=['a'..'z','A'..'Z'];
  Cif  : Set Of Char=['0'..'9'];
  Space: Set of Char=[' '];
Type
  Vector=array[1..20] of integer;
Var
  V:Vector;
  N,Nb,i,j:byte;
Begin
  Writeln('Vvedite ne bolee 10 elementov');
  N:=0;
  While not EOLN do
    begin
      inc(n);
      read(V[n]);
    end;
  readln;
  Nb:=N;
  i:=0;
  Repeat
    Inc(i);
    If V[i] in Cif
      then
        begin
          For j:=N downto i+1 do
          V[j+1]:=V[j];
          V[i+1]:=Space;
          inc(N);
        end;
  Until i=N;
  If Nb<>N
    then
      Begin
        Writeln('Massiv posle vstavki',N-Nb,' space');
        For i:=1 to N do
          Write(V[i],' ');
        Writeln;
      end
    else
      writeln('Cifr net. Massiv ne izmenen');
 readln;
End.
Если возможно то исправте.
LittleStudent вне форума Ответить с цитированием
Старый 14.04.2011, 20:19   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
Vector=array[1..20] of integer;
Это массив из целых чисел. Интересно, как вы собираетесь в него вставлять пробел. Кроме того в вашем коде пробел вставляется только после цифры. А где же пробел до цифры? И даже после всего этого у вас получаются лишние пробелы. Вот так, пожалуй, получше будет
Код:
Const
  Cif  : Set Of Char=['0'..'9'];
  Space:Char=' ';
Type
  Vector=array[1..20] of char;
Var
  V:Vector;
  N,Nb,i,j:byte;
Begin
  Writeln('Vvedite ne bolee 10 elementov');
  N:=0;
  While not EOLN do
    begin
      inc(n);
      read(V[n]);
    end;
  readln;
  Writeln(N);
  Nb:=N;
  i:=0;
  Repeat
   Inc(i);
    If (V[i] in Cif) then
    Begin
      Inc(N);
      For j:=N-1 downto i+1 do
      V[j+1]:=V[j];
      V[i+1]:=Space;
      Inc(N);
      For j:=N-1 downto i do
      V[j+1]:=V[j];
      V[i]:=Space;
      Inc(i)
    End;
  Until Not i  < Nb;
  If Nb<>N
    then
      Begin
        Writeln('Massiv posle vstavki',N-Nb,' space');
        For i:=1 to N do
          Write(V[i]);
        Writeln;
      end
    else
      writeln('Cifr net. Massiv ne izmenen');
 readln;
P.s.А со строками не легче это все сделать было?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 14.04.2011, 22:48   #3
LittleStudent
Пользователь
 
Регистрация: 07.04.2011
Сообщений: 17
По умолчанию

Спасибо))))))))
А со строками нельзя(
В том и прикол был((
У нас препод жестокий
LittleStudent вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В строке между словами вставить вместо пробела запятую и пробел fatorial Помощь студентам 4 31.12.2010 16:36
Функция СЦЕПИТЬ как вставить пробел kzld Microsoft Office Excel 2 11.09.2010 10:31
пробелы после каждой буквы KeksK Общие вопросы .NET 3 05.05.2010 12:13
Как вставить в слове после любой буквы пробел? Stager Общие вопросы C/C++ 5 07.01.2009 14:05