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

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

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

> Работа с текстом, Задача
Студентик13
сообщение 11.01.2006 16:51
Сообщение #1


Пионер
**

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

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


Здесь строковая задача. т.е работа с текстом. Я эту тему не понял. Помогите кто сможет.
Заранее благодарен.
Дана последовательность слов. Напечатать все слова, предварительно выполнив преобразования их по правилу:
а) заменить во всех словах первую букву заглавной;
б) в словах наибольшей длины удалить среднюю (средние) букву;
в) заменить в каждом слове первую встреченную букву “а” на “о”.


--------------------
Учение есть учение, а свет есть свет и ненадо обобщать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 13)
Ozzя
сообщение 11.01.2006 17:05
Сообщение #2


Гуру
*****

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

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


Вытаскиваешь слова в массив
http://forum.pascalnet.ru/index.php?s=&sh...indpost&p=28059
а) UpCase
в)
Код
for i:=1 to length(s) do
if s[i]='a' then
begin
  s[i]:='o';
  break;
end;


Сообщение отредактировано: Ozzя - 11.01.2006 17:12
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Студентик13
сообщение 11.01.2006 19:00
Сообщение #3


Пионер
**

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

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


OzzЯ а поподробней можно я не оракул чтоб видеть то чего нет.


--------------------
Учение есть учение, а свет есть свет и ненадо обобщать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.01.2006 19:15
Сообщение #4


Гость






Тебе дали ссылку на готовые функции разбиения строки на слова. В чем теперь у тебя проблема, объясни...
 К началу страницы 
+ Ответить 
APAL
сообщение 11.01.2006 19:17
Сообщение #5


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Здесь не нужно быть оракулом, достаточно воспользваться поиском по форуму и заглянуть в раздел F.A.Q.!


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Студентик13
сообщение 11.01.2006 19:27
Сообщение #6


Пионер
**

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

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


Я искал по форуму, в программах которые я видел не было "заменить в каждом слове первую встреченную букву “а” на “о”." и не было ") в словах наибольшей длины удалить среднюю (средние) букву;"
Код
program WordsToArray;
uses crt;
type TArray=array[1..100]of string;

{функция заполняет возвращает массив mas словами из строки s}
procedure GetWords(s:string; var mas:TArray);
var i,j:shortint;
begin
while pos('  ',s)<>0 do delete(s,pos('  ',s),1);
if s[1]=' ' then delete(s,1,1);
if s[length(s)]=' ' then delete(s,length(s),1); {удаляем лишние пробелы}

i:=1;
for j:=1 to length(s) do
if s[j]<>' ' then mas[i]:=mas[i]+s[j] else if i<>high(mas) then inc(i); {заполняем массив словами из строки}
end;

var s:string;
mas:TArray;i:shortint;
begin
clrscr;
write('> ');
readln(s);
GetWords(s,mas);
for i:=1 to high(mas) do if mas[i]<>'' then writeln(i,' - ',mas[i]);
end.

и здесь ничего подобного не было и в других прогах тоже blink.gif blink.gif blink.gif


--------------------
Учение есть учение, а свет есть свет и ненадо обобщать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.01.2006 19:30
Сообщение #7


Гость






Ты сразу за все-то не хватайся... По очереди...

Разбей строку на слова, пройди по ним, и замени в каждом их них первую букву на заглавную.. Алгоритм - в моем модуле в "FAQ: Строки"...

Потом берись за вторую часть... Ты же создал десяток тем и СРАЗУ хочешь все сделать. Так не бывает...
 К началу страницы 
+ Ответить 
Студентик13
сообщение 11.01.2006 21:32
Сообщение #8


Пионер
**

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

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


Да так не бывает но нижно и попробовать.


--------------------
Учение есть учение, а свет есть свет и ненадо обобщать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Студентик13
сообщение 11.01.2006 21:55
Сообщение #9


Пионер
**

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

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


Хорошо оформленно и все понятно
Цитата
Модуль для работы со строками

Содержит ряд функций для работы со строковыми переменными. Функции разбиты на насколько групп:

Функции проверки:
Функции, начинающиеся с Is... предназначены для проверки принадлежности символов строки к определенным группам. Все они возвращают логическое значение (True/False). Функция Is... проверяет, "является ли символ Ch..."


--------------------
Учение есть учение, а свет есть свет и ненадо обобщать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Студентик13
сообщение 11.01.2006 22:26
Сообщение #10


Пионер
**

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

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


Код
Const
  s:String = ('N');
var
N:string;
count:text;
Begin
  write('Ââåäèòå òåêñò');
  Read(N);
  Count:=GetWords(s,['-', ';', '.']);
  WriteLn(Count, ' words found ...');
End.

Прога у меня не работает говорит что ошибка в Count:=GetWords(s,['-', ';', '.']);
не понимаю,возможно можно упростить тут
Код
Const
s:String = ('N');
var
N:string;

если да то как не помню но вроде что-то простое unsure.gif unsure.gif


--------------------
Учение есть учение, а свет есть свет и ненадо обобщать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 11.01.2006 22:35
Сообщение #11


Гость






Цитата
Прога у меня не работает говорит что ошибка
А где у тебя собственно функция GetWords описана? Ты ничего не сделал: ни модуль подключить, ни саму функцию скопировать не догадался. Как же ты хочешь, чтобы это работало?
 К началу страницы 
+ Ответить 
Студентик13
сообщение 11.01.2006 23:31
Сообщение #12


Пионер
**

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

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


Код
Const
  maxWords = 100;
Type
  TWords = Array[1 .. maxWords] Of String;
Function GetWords(s: String; Var mas: TWords): Byte;
var
count:text;
TWords:stringe;
Begin
write('string');
read(TWords);
  Count:=GetWords(TWords,['-', ';', '.']);
  WriteLn(Count, ' words found ...');
End.

Может так точно не знаю но не работает

Сообщение отредактировано: Студентик13 - 11.01.2006 23:33


--------------------
Учение есть учение, а свет есть свет и ненадо обобщать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 12.01.2006 11:18
Сообщение #13


Гость






Ты для начала книжку какую-нибудь почитай по Паскалю, а то, знаешь ли, тебе надо все с САМЫХ основ объяснять...
 К началу страницы 
+ Ответить 
Студентик13
сообщение 12.01.2006 11:36
Сообщение #14


Пионер
**

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

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


Память плохая dry.gif


--------------------
Учение есть учение, а свет есть свет и ненадо обобщать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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