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

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

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

 
 Ответить  Открыть новую тему 
> Работа с текстом, Задача
сообщение
Сообщение #1


Пионер
**

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

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


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


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


Гуру
*****

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

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


Вытаскиваешь слова в массив
http://forum.pascal.net.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я -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

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

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


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


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


Гость






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


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

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

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


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


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






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

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

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


Пионер
**

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

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


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


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


Пионер
**

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

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


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

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

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


--------------------
Учение есть учение, а свет есть свет и ненадо обобщать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Цитата
Прога у меня не работает говорит что ошибка
А где у тебя собственно функция GetWords описана? Ты ничего не сделал: ни модуль подключить, ни саму функцию скопировать не догадался. Как же ты хочешь, чтобы это работало?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 -


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


Гость






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


Пионер
**

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

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


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


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

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

 





- Текстовая версия 20.05.2024 17:08
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name