Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.04.2011
Сообщений: 10

Преобразовать строки, переставив первую букву в конец каждого слова

27.04.2011, 17:15. Показов 1841. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дан текстовый файл t, в котором слова в строках разделены пробелами. Преобразовать строки, переставив первую букву в конец каждого слова, и записать в файле t1.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2011, 17:15
Ответы с готовыми решениями:

Перенести первую букву каждого слова в его конец
Напишите программу дана последовательность, содержащая произвольное количество слов. слова разделены пробелами, за последним точка....

Переместить первую букву слова в конец слова(Строки)
Помогите пожалуйста. Напечатать все слова, заранее перенести первую букву слова в конец слова.

Строка: Вывести все слова строки, отличные от последнего слова, удалив из каждого первую букву.
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных латинских букв; между соседними словами –...

3
 Аватар для Mawrat
13116 / 5897 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
27.04.2011, 17:41
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//Функция во всех словах исходного текста меняет местами первую букву с последней
//и возвращает результат в виде новой строки.
function ProcStr(const aStr : String) : String;
const
  //Разделители слов.
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  S : String;
  Ch : Char;
  i, Len, Pos1 : Integer;
begin
  S := aStr;
  Len := Length(S);
  Pos1 := 0;
  for i := 1 to Len do begin
    //Пропускаем разделители.
    if S[i] in D then Continue;
    //Отслеживаем начало слова.
    if (i = 1) or (S[i - 1] in D) then Pos1 := i;
    //Отслеживаем конец слова.
    if (i = Len) or (S[i + 1] in D) then begin
      //Перестановка букв.
      if i <> Pos1 then begin
        Ch := S[Pos1];
        S[Pos1] := S[i];
        S[i] := Ch;
      end;
    end;
  end;
 
  ProcStr := S;
end;
Осталось написать код, который будет использовать эту функцию. Т. е., код должен содержать:
1. Связывание файловых переменных с именами файлов.
2. открытие входного файла для чтения и выходного файла для записи.
3. чтение строк из входного файла, обработка их через ProcStr() и запись в выходной файл.
4. Закрытие входного и выходного файлов.
1
0 / 0 / 0
Регистрация: 27.04.2011
Сообщений: 10
27.04.2011, 17:46  [ТС]
а где взять этот код?
0
 Аватар для Mawrat
13116 / 5897 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
27.04.2011, 18:39
Цитата Сообщение от Мамулька Посмотреть сообщение
а где взять этот код?
Его надо написать.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
program Project1;
 
//Функция во всех словах исходного текста меняет местами первую букву с последней
//и возвращает результат в виде новой строки.
function ProcStr(const aStr : String) : String;
const
  //Разделители слов.
  D = ['.', ',', ':', ';', '!', '?', '-', ' ', #9, #10, #13];
var
  S : String;
  Ch : Char;
  i, Len, Pos1 : Integer;
begin
  S := aStr;
  Len := Length(S);
  Pos1 := 0;
  for i := 1 to Len do begin
    //Пропускаем разделители.
    if S[i] in D then Continue;
    //Отслеживаем начало слова.
    if (i = 1) or (S[i - 1] in D) then Pos1 := i;
    //Отслеживаем конец слова.
    if (i = Len) or (S[i + 1] in D) then begin
      //Перестановка букв.
      if i <> Pos1 then begin
        Ch := S[Pos1];
        S[Pos1] := S[i];
        S[i] := Ch;
      end;
    end;
  end;
 
  ProcStr := S;
end;
 
const
  Fn1 = 'in.txt';
  Fn2 = 'out.txt';
var
  F1, F2 : Text;
  S : String;
begin
  Assign(F1, Fn1);
  {$I-}
  Reset(F1);
  {$I+}
  if IOResult <> 0 then begin
    Writeln('Не удалось открыть входной файл ', Fn1);
    Writeln('Действие отменено.');
    Readln;
    Exit;
  end;
 
  Writeln('Входной файл: ', Fn1);
 
  Assign(F2, Fn2);
  Rewrite(F2);
  while not Eof(F1) do begin
    (*
     Здесь надо ставить код:
     1. Чтение строки из файла F1 в переменную S.
     2. Обработка строки S с помощью функции ProcStr().
     3. Запись строки S в файл F2.
    *)
  end;
 
  Close(F1);
  Close(F2);
 
  Writeln('Результат записан в файл: ', Fn2);
 
  Readln;
end.
В качестве домашнего задания надо вписать свой код в месте, помеченном комментариями:
Pascal
1
2
3
4
5
6
    (*
     Здесь надо ставить код:
     1. Чтение строки из файла F1 в переменную S.
     2. Обработка строки S с помощью функции ProcStr().
     3. Запись строки S в файл F2.
    *)
Вместо этого текста надо вставить 3 строки кода.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.04.2011, 18:39
Помогаю со студенческими работами здесь

Напечатать все слова, перенеся первую букву каждого слова в конец слова
приветствую вас))) помогите пожалуйста даме... Текст задан строкой var St: string; Напечатать все слова, перенеся первую букву...

Перенести первую букву каждого слова в его конец
Дан текст. Словом текста считается любая последовательность букв алфавита; между соседними словами - не менее одного пробела. Перед первым...

Перенести первую букву каждого слова в его конец
В произвольном тексте,хранящемся в файле и содержащем не более 10 строк(в каждой строке не более 80 символов),перенести первую букву...

Строка: перенести первую букву каждого слова в его конец
дана последовательность, содержащая произвольное количество слов. слова разделены пробелами, за последним точка. перенести первую букву...

Переместить первую букву слова в конец слова(Строки)
Здравствуйте уважаемые форумчане. Помогите пожалуйста. Напечатать все слова, заранее перенести первую букву слова в конец слова. Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru