Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
 Аватар для Sakura Soul
16 / 2 / 2
Регистрация: 12.12.2011
Сообщений: 37

Поменять местами первое и последнее предложение

15.10.2012, 17:09. Показов 1648. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток,недавно попалась задача где нужно поменять местами 1-ое и последнее предложение.Но так получилось что я не могу логически довести ее до ума.Я допустил что все предложения отделяются только точками.Подскажите хоть примерно саму логику решения,потому что мои варианты просто не работали.Если уже были такие решения то киньте ссылку,буду очень благодарен.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.10.2012, 17:09
Ответы с готовыми решениями:

Поменять местами первое и последнее слово в строке
помогите поменять местами первое и последнее слово в строке. Язык Делфи Добавлено через 8 минут ответьте :wall:

Строка: В заданном тексте (слова разделены пробелами) поменять первое и последнее слово
Помогите написать программы в Delphi, надо очень срочно, а то я понять не могу как их писать.... Вот текст заданий 1. В заданном...

Как поменять местами в предложение первое и последнее слово?
Доброго времени суток) подскажите ,пожалуйста,как в поменять местами в предложение первое и последнее слово?

9
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
15.10.2012, 18:02
Выложи своё решение - подправим. Неохота догадываться откуда берётся текст, куда ложить результат, в каком виде оформлять программу и пр.
Логика то простая. Всё дело в том, откуда брать и куда складывать.
0
 Аватар для Sakura Soul
16 / 2 / 2
Регистрация: 12.12.2011
Сообщений: 37
15.10.2012, 20:04  [ТС]
да мое решение почти ничего не значит,я взял текст из мемо и посчитал кол-во точек,а дальше были только теории о занесении предложений в массив или по кусочку отрезать о текста и обрабатывать в цикле,у меня вообще фантазии нет.А откуда брать и куда возвращать тут не проблема,например в тот же мемо.У меня еще не было проблем с такими задачами,а тут как снег на голову
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm1.Button1Click(Sender: TObject);
 var a : array [1..100] of string;i,n,t : integer; s : string;
begin
 n := 0;
 s := memo1.Text;
  t := Length(s);
  for i := 1 to t do
   if s[i] = '.' then
   begin
    n := n + 1;
    for i :=1 to t do
     if s[i]<= pos('.') then
     begin
     
   Memo2.text := ;
 
end;
0
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
15.10.2012, 23:42
Набирал-набирал, а когда нажал "ответить" - произошел сбой. Вся работа насмарку.
В общем - повторяю:
Delphi
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
procedure TForm1.Button1Click(Sender: TObject);
var 
  i,j,k,n,t : integer; 
  s,s1,s2 : string;
begin
  n := 0;
  s := memo1.Text;
  t := Length(s);
  //Ищем начало и конец последнего предложения
  //Предполагаем, что в конце последнего тоже стоит точка
  For i:=t DownTo 1 Do
  If s[i]='.' Then
  If j=0 Then j:=i Else
  Begin
    k:=i+1; //Начало последнего предложения
    Break;
  End;
  If k=0 Then Exit; //Предложений меньше 2-х
 
  n:=Pos('.',s); //Конец первого предложения
  s1:=Copy(s,1,n); //Первое предложение
  s2:=Copy(s,k,j-k+1); //Последнее предложение
 
  Delete(s,k,j-k+1); //Удаляем последнее
  Delete(s,1,n); //Удаляем первое
 
  Memo2.Text:=s2+s+s1;
end;
1
angstrom
16.10.2012, 00:10
Разве через StringList не проще?
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
16.10.2012, 00:44
Разве через StringList не проще?
Какая разница? Если бы одно предложение было в одной строке - и через Memo было бы просто.
angstrom: Может ты знаешь другой способ? Приведи.
0
angstrom
16.10.2012, 00:55
Надеюсь, не ошибся.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var
  sl : TStringList;
  st : String;
begin
  sl := TStringList.Create;  
  try
    sl.Delimiter := '.';
    sl.DelimitedText := Memo1.Text;
    st := sl.Strings[0];
    sl.Strings[0] := sl.Strings[sl.Count - 1];
    sl.Strings[sl.Count - 1] := st;
    Memo2.Text := sl.Text;
  finally
    sl.Free;
  end;
 Аватар для Одиночка
3944 / 1869 / 337
Регистрация: 16.03.2012
Сообщений: 3,880
16.10.2012, 07:24
angstrom: Была такая мысль с Delimiter, но поленился проверить. Сейчас взял твой код, проверил и не получилось. Правда у меня был текст разбитый на строки с ВК, ПС. Не успеваю уже довести до конца. Так что тебе и карты в руки.
0
 Аватар для Sakura Soul
16 / 2 / 2
Регистрация: 12.12.2011
Сообщений: 37
16.10.2012, 07:24  [ТС]
спасибо всем большое,гора с плеч
0
angstrom
16.10.2012, 10:59
Цитата Сообщение от Одиночка Посмотреть сообщение
Правда у меня был текст разбитый на строки с ВК, ПС. Не успеваю уже довести до конца. Так что тебе и карты в руки.
Проверил с двумя вариациями, текст разбитый на строки и "цельный". В любом случае в итоге разбивает на отдельные слова. Как раньше нормально такое делал и почему сейчас не получается?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2012, 10:59
Помогаю со студенческими работами здесь

Дано предложение. Поменять местами его первое и последнее слово
Часть 1. Дан числовой массив. Реализовать алгоритм сортировки подсчётом. Часть 2. Дано предложение. Поменять местами его первое и...

Дано предложение. Поменять местами его первое и последнее слово.
Дано предложение. Поменять местами его первое и последнее слово.

Дано предложение. Поменять местами его первое и последнее слово
Не знаю как записать во вторую переменную последнее слово. Помогите пожалуйста :wall: #include &lt;stdio.h&gt; #include...

Отредактировать предложение, удаляя из него лишние пробелы, поменять местами в строке первое и последнее
прошу помощи с двумя заданиями: 1.Отредактировать предложение, удаляя из него лишние пробелы, оставляя только по одному пропуску между...

Поменять местами первое и последнее слово
Ребят, помогите пожалуйста доделать скрипт. Надо поменять местами первое и последнее слово. Предварительная наработка вот &lt;!DOCTYPE...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru