IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Function, Как правильно прописать в функции...
Dima
сообщение 22.02.2007 19:51
Сообщение #1


Гость






Задание:
Ввести с клавы слово и переместить первый символ в конец слова, если он не есть латинской буквой.

Без функции я это задание решил, но я еще не понимаю как его правильно прописать в функции. Подскажите плз. А еще лучше покажите...
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 12)
Артемий
сообщение 22.02.2007 21:34
Сообщение #2


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Вот посмотри:
function SetWord(var s: string): string;
var
len,i,o: Integer;
c: char;
begin
len:=length(s);
c:=s[1];
if (c>='a') and (c<='z') then
begin
SetWord:='';
exit;
end
else
s:=s+' ';
s[len+1]:=c;
Delete(s,1,1);
SetWord:=s;
end;


Сообщение отредактировано: Артемий2 - 22.02.2007 21:39


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 22.02.2007 21:45
Сообщение #3


Гость






Артемий2, 2 вопроса:
1) с чего функция возвращает пустую строку, если 1-ый символ переданной ей строки 'a' .. 'z'? Может, лучше было вернуть исходную строку?
2) 'A' .. 'Z' - уже НЕ буквы латинского алфавита?
 К началу страницы 
+ Ответить 
Артемий
сообщение 22.02.2007 21:49
Сообщение #4


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Замечательно! Простите! smile.gif
function SetWord(var s: string): string;
var
len,i,o: Integer;
c: char;
begin
len:=length(s);
c:=s[1];
if ((c>='a') and (c<='z')) or ((c>='A') and (c<='Z')) then
begin
SetWord:=s;
exit;
end
else
s:=s+' ';
s[len+1]:=c;
Delete(s,1,1);
SetWord:=s;
end;


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 22.02.2007 22:04
Сообщение #5


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Зачем?

s:=s+' ';
s[len+1]:=c;


Может:

s:=s+с;



--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Артемий
сообщение 22.02.2007 22:30
Сообщение #6


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Компактность! smile.gif


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 22.02.2007 22:36
Сообщение #7


Гость






Ну, раз компактность, то:
function SetWord(s: string): string;
begin
if upcase(s[1]) in ['A' .. 'Z'] then SetWord := s
else SetWord := Copy(s, 2, length(s)) + s[1];
end;
 К началу страницы 
+ Ответить 
Артемий
сообщение 22.02.2007 22:39
Сообщение #8


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


good.gif Крут! good.gif


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 23.02.2007 7:10
Сообщение #9


Гость






Цитата(TarasBer @ 22.02.2007 22:04) *

Зачем?

s:=s+' ';
s[len+1]:=c;


Может:

s:=s+с;



TarasBer, ты правда думаешь, что это эвивалентная замена?
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.02.2007 7:12
Сообщение #10


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Последний пост - мой. Извиняюсь, забыл войти..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 23.02.2007 9:09
Сообщение #11


Гость






Lapp, да, я тоже так думаю. В чем возражение?
 К началу страницы 
+ Ответить 
Гость
сообщение 23.02.2007 12:19
Сообщение #12


Гость






Цитата(volvo @ 23.02.2007 9:09) *

Lapp, да, я тоже так думаю. В чем возражение?

Да, все верно, извиняюсь. Бес попутал smile.gif. Или перегрев под конец дня..
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.02.2007 12:22
Сообщение #13


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


И опять гостем!.. Фу ты ну ты.. Но я же не выходил, вроде.. башка уже ни к черту..
Простите!


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 17:33
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"