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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2010, 15:24   #1
Zigi
 
Регистрация: 13.12.2010
Сообщений: 5
По умолчанию Перенос первой буквы в конец слова

Дана фраза с пробелами и точкой в конце. Как мне задать строчку с переносом буквы в конец слова.
P.S. задал программу я следующим образом:
Цитата:
Program text_file;
uses crt;
var
f,ff:text;
predl,sl,bukva:string;
slovo:array[1..10] of string;
i,j,k:integer;

Последний раз редактировалось Zigi; 19.12.2010 в 15:39.
Zigi вне форума Ответить с цитированием
Старый 19.12.2010, 16:18   #2
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

а если:
Код:
var
...
bukva, predl:string;
...
for i:=1 to length(predl) do
if predl[i]<>' ' then begin
bukva:=predl[i];
break;
end;
if predl[i]<>' ' then begin
predl[legth(predl)]:=bukva;
delete(predl,1,1);
predl:=predl+'.';
end;
...
end.

Последний раз редактировалось unbanned; 19.12.2010 в 16:26.
unbanned вне форума Ответить с цитированием
Старый 19.12.2010, 17:01   #3
Zigi
 
Регистрация: 13.12.2010
Сообщений: 5
По умолчанию

Ерунда какая то получается =(

Код:
var
  f, ff: text;
  predl, sl, bukva: string;
  slovo: array[1..10] of string;
  i, j, k: integer;

begin
  assign(f, 'd:\input.txt');
  reset(f);
  assign(ff, 'd:\output.txt');
  rewrite(ff);
  while not eof(f) do
    read(f, predl);
  clrscr;
  writeln('Isxodnoe predlozhenie:');
  writeln(predl);
  readkey;
  writeln('Predlozhenie po clovam:');
  k := 1;
  slovo[k] := '';
  for i := 1 to length(predl) do
    if predl[i] <> '' then
      slovo[k] := slovo[k] + predl[i]
    else
    begin
      k := k + 1;
      slovo[k] := '';
    end;
  for j := 1 to k - 1 do
    for i := 1 to k - j do
      if length(slovo[i]) < length(slovo[i + 1]) then
      begin
        sl := slovo[i];
        slovo[i] := slovo[i + 1];
        slovo[i + 1] := sl;
      end;
  for j := 1 to k do
    writeln(slovo[j]);
  readkey;
  for i := 1 to length(predl) do
    if predl[i] <> ' ' then begin
      bukva := predl[i];
      break;
    end;
  if predl[i] <> ' ' then begin
    predl[length(predl)] := bukva;
    delete(predl, 1, 1);
    predl := predl + '.';
  end;
  for j := 1 to k do
  begin
    writeln(slovo[j]);
    writeln(ff, slovo[j]);
  end;
  readkey;
  close(f);
  close(ff);
end.
51 строка : Нельзя преобразовать тип string к char
Zigi вне форума Ответить с цитированием
Старый 19.12.2010, 18:15   #4
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

да, моя ошибка... прошу прощения, код не проверил
Код:
var
...
bukva, predl:string;
...
for i:=1 to length(predl) do
if predl[i]<>' ' then begin
bukva:=predl[i];
break;
end;
if bukva <> '' then begin
delete(predl,length(predl),1);
predl:=predl+bukva;
delete(predl, 1, 1);
predl := predl + '.';
end;
...
writeln(predl);
...
end.

Последний раз редактировалось unbanned; 19.12.2010 в 18:22.
unbanned вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Упорядочить слова в столбик по первой букве с++ mr_fomin Помощь студентам 0 14.12.2010 16:45
Удалить из слова вхождения первой буквы kniazkinP Помощь студентам 0 30.11.2010 12:27
Вывести слова с неповторяющейся в них первой буквой. ~SnusmumriK~ Помощь студентам 1 10.03.2010 13:03
СИ. Удалить слова, которые содержат все повторяющиеся буквы первого слова nick23 Помощь студентам 7 01.11.2009 14:47
Изменение первой буквы Костя Общие вопросы Delphi 4 28.11.2007 14:31