19.03.2016, 18:14 | #1 (permalink) |
Новичок
Регистрация: 19.03.2016
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Проблема с Delphi
1. Дана строка. Подсчитать количество букв (k) в последнем ее слове. 2. Строка содержит одно слово. Проверить будет ли она одинаково читаться справа налево и слева направо (т.е. является ли оно палиндромом.) Буду рада, если вы мне поможете и объясните. |
19.03.2016, 18:14 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Ранее на форуме создавались темы, которые напоминают вашу DELPHI Проблема с рисованием треугольников Delphi Проблема с Delphi Delphi Проблема с установкой Delphi |
19.03.2016, 18:34 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Не совсем так. Отличий довольно много. Delphi предполагает работу с формами, отсюда разный механизм ввода-вывода, разные модули, многие операторы отличаются и т.п.
|
19.03.2016, 18:41 | #5 (permalink) |
Member
Регистрация: 15.02.2016
Сообщений: 48
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: -130
|
1 - ищется конец предложения (в string в [0] длина . из этого массива по убыванию ищется пробел , счётчик остановится на решении )
2 - создаётся 2 strring (в одном прямое слово , во втором проверочное) .... и перебирается как массив слово1[10] равен слово2[1] ? слово1[9] равен слово2[2] ? и т.д. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
19.03.2016, 18:46 | #6 (permalink) |
Member
Регистрация: 15.02.2016
Сообщений: 48
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: -130
|
Я-же сказал Объектный Паскаль .. Форма- это Объект. (Была разновидность в DOS - Turbo Vision , там тоже окна(псевдографикой) , и то-же объекты ....но давайте не вспоминать до-оконную от Microsoft (у Борланда были достижения ...давно) , эру)
|
19.03.2016, 19:02 | #7 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Вы предложили алгоритм - прекрасно. Я же могу от себя добавить реализацию на Паскале, на базе которой может быть создан DPR-файл. Код:
Var S:String; k:Byte; Begin Writeln('Enter the string:'); Readln(S); k:=0; Repeat Inc(k); Until S[Length(S)-k]=' '; Writeln('k = ',k); Readln End. Код:
Var S1,S2:String; i:Byte; Begin Writeln('Enter the string:'); Readln(S1); S2:=''; for i:=1 to Length(S1) do S2:=S2+S1[Length(S1)-i+1]; Writeln(S1=S2); Readln End. |
|
19.03.2016, 19:16 | #8 (permalink) |
Member
Регистрация: 15.02.2016
Сообщений: 48
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: -130
|
Я не помню уже досконально Writeln ... S1=S2 это только при равенстве распечатывает?
PS А вообще Вы уподобляетесь Си-никам ...Те Хвалятся , что такую логическую конструкцию могут смастерить - из условных операторов, что Паскалю и не снилось(правда и сами не смогут прочитать в итоге...... Нужно всё Проще ..Паскаль тем и славен , что можно увидеть , начиная с begin , заканчивая end... ) Последний раз редактировалось OlegNZH; 19.03.2016 в 19:26 |
19.03.2016, 19:32 | #10 (permalink) |
Member
Регистрация: 15.02.2016
Сообщений: 48
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: -130
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|