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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2009, 16:10   #1
blondinochka
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 11
По умолчанию Pascal.Строки

Дана последовательность символов латинского алфавита и пробелов. Группу символов, разделенную с одной или обеих сторон пробелами и не содержащую внутри себя пробелов, назовем словом. Поменять порядок следования букв на обратный в тех словах, которые имеют длину более 9 символов. Подсчитать количество таких слов.
Подскажите пожалуйста что нужно изменить в программе чтобы она не обращалась к файлу, строка вводилась с клавиатуры и искала и изменяла слова длиной больше 9 символов


Код:
program maxl;
uses crt;
var
  fin,fout:text;
  c:char;
  s:string;
  i,lenmax:integer;
  kol:longint;

procedure fromin;
begin
read(fin,c);
if c=' ' then begin
  if s<>'' then begin
    if lenmax=length(s) then inc(kol);
    if lenmax<length(s) then begin
      lenmax:=length(s);
      kol:=1;
      end;
    s:='';
    end;
  fromin;
  end
else s:=s+c;
end;

procedure intoout;
begin
read(fin,c);
if c=' ' then begin
  if s<>'' then begin
    if length(s)=lenmax then begin
      for i:=lenmax downto 1 do write(fout,s[i]);
      write(fout,' ');
      end
    else write(fout,s,' ');
    s:='';
    end
  else if (c=#32)or(c=#13)then write(fout,c);
  intoout;
  end
else s:=s+c;
end;



BEGIN

s:='';
assign(fin,'in.txt');
reset(fin);
while not eof(fin) do fromin;
close(fin);

assign(fin,'in.txt');
reset(fin);
assign(fout,'out.txt');
rewrite(fout);
s:='';
while not eof(fin) do intoout;

writeln(fout);writeln(fout);
writeln(fout,kol);
close(fin);
close(fout);

END.
blondinochka вне форума Ответить с цитированием
Старый 03.06.2009, 16:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Подскажите пожалуйста что нужно изменить в программе
read(fin,c); на read(c);
из write(fout,..); убрать fout,
И главное
Код:
BEGIN
s:='';
fromin;
intoout;
writeln(kol);
END.
П.С. Я бы по другому сделал...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2009, 19:03   #3
blondinochka
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 11
По умолчанию

что то у меня совсем ничего не получилось(((((
если тебя не затруднит сделай пожалуйста
blondinochka вне форума Ответить с цитированием
Старый 04.06.2009, 16:44   #4
blondinochka
Пользователь
 
Регистрация: 11.05.2009
Сообщений: 11
По умолчанию

пожалуйста помогите исправить задачку, у самой ничего не получилось,всё равно не работает(((((((((( а уже зачёт через день((((
blondinochka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Pascal. Строки blondinochka Помощь студентам 2 30.05.2009 18:44
Pascal. СтрокИ. АполинАрия Помощь студентам 8 29.05.2009 00:16
Pascal. Строки cudalover Помощь студентам 2 11.04.2009 15:34
Pascal. Строки. Dexterello Помощь студентам 2 20.12.2008 17:42
Строки в Pascal Альбиша Помощь студентам 3 18.12.2008 22:36