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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2009, 14:41   #1
Иван 883
Пользователь
 
Регистрация: 25.12.2008
Сообщений: 39
По умолчанию Удаление пробелов

Здравтвуйте Господа программисты. Помогите реализовать следующую программу с помощью динамических переменных, а то что ни как не могу понять как это сделать
Код:
type Mas=array[1..50] of string;

procedure InputData(var a:Mas; var n:integer);
var FileIn:text;
    NameFile:string;
begin
  write('Введите имя входного файла ');
  readln(NameFile);
  assign(FileIn,NameFile);
  {$I-}
  reset(FileIn);
  {$I+}
    if IOResult<>0 then
      begin
        writeln('Ошибка!Файл ',NameFile,' не найден!');
        readln;
        halt;
      end;
    n:=0;
    while not Eof(FileIn) do
      begin
        inc(n);
        readln(FileIn,a[n]);
      end;
  Close(FileIn);
end;

procedure DeleteSpacesInString(var S:string);
var p,i:integer;
begin
  for i:=1 to length(S) do
    begin
      repeat
        p:=Pos('  ',S[i]);
        if p>0 then Delete (S,p,1);
      until p=0;
      if S[1]=' ' then
        Delete(S,1,1);
      if S[length(S)]=' ' then
        Delete(S,length(S),1);
    end;
end;

procedure DeleteSpacesInMas(var a:Mas; n:integer);
var i:integer;
begin
  for i:=1 to n do
    DeleteSpacesInString(a[i]);
end;

procedure OutputData(a:Mas; n:integer);
var NameFile:string;
    FileOut:text;
    i:integer;
begin
  write('Введите имя выходного файла ');
  readln(NameFile);
  assign(FileOut,NameFile);
  rewrite(FileOut);
  for i:=1 to n do
  writeln(FileOut,a[i]);
  Close(FileOut);
end;

var a:Mas;
    n:integer;
begin
  clrscr;
  InputData(a,n);
  DeleteSpacesInMas(a,n);
  OutputData(a,n);
end.
Помогите плз
Иван 883 вне форума Ответить с цитированием
Старый 20.04.2009, 22:23   #2
Иван 883
Пользователь
 
Регистрация: 25.12.2008
Сообщений: 39
По умолчанию

Вот написал код посмотрите плз правильный ли он?
Код:
uses crt;
type Mas=array[1..50] of string;
DinMas=^Mas;

procedure InputData(var a:DinMas; var n:integer);
var FileIn:text;
    NameFile:string;
begin
  write('Введите имя входного файла ');
  readln(NameFile);
  assign(FileIn,NameFile);
  New(a);
  {$I-}
  reset(FileIn);
  {$I+}
    if IOResult<>0 then
      begin
        writeln('Ошибка!Файл ',NameFile,' не найден!');
        readln;
        halt;
      end;
    n:=0;
    while not Eof(FileIn) do
      begin
        inc(n);
        readln(FileIn,a^[n]);
      end;
  Close(FileIn);
end;

procedure DeleteSpacesInString(var S:string);
var p,i:integer;
begin
  for i:=1 to length(S) do
    begin
      repeat
        p:=Pos('  ',S);
        if p>0 then Delete (S,p,1);
      until p=0;
      if S[1]=' ' then
        Delete(S,1,1);
      if S[length(S)]=' ' then
        Delete(S,length(S),1);
    end;
end;

procedure DeleteSpacesInMas(var a:DinMas; n:integer);
var i:integer;
begin
  for i:=1 to n do
    DeleteSpacesInString(a^[i]);
end;

procedure OutputData(a:DinMas; n:integer);
var NameFile:string;
    FileOut:text;
    i:integer;
begin
  write('Введите имя выходного файла ');
  readln(NameFile);
  assign(FileOut,NameFile);
  rewrite(FileOut);
  for i:=1 to n do
    writeln(FileOut,a^[i]);
    Dispose(a);
    Close(FileOut);
end;

var a:DinMas;
    n:integer;
begin
  clrscr;
  InputData(a,n);
  DeleteSpacesInMas(a,n);
  OutputData(a,n);
end.
Иван 883 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчёт пробелов в ведённой строке prikolist Общие вопросы C/C++ 10 10.04.2009 15:52
Удаление лишних пробелов. Ввод/вывод в файл. Иван 883 Помощь студентам 13 31.03.2009 19:39
Замена пробелов на %20 LLIypLLIyH Помощь студентам 4 12.02.2009 21:04
Строки(удаление пробелов). C language SuccEssoR Помощь студентам 4 15.01.2009 17:13
несколько пробелов заменить одним пробелом Андрю)(@ Помощь студентам 4 10.11.2008 14:56