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

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

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

> Подстроки и подпрограммы. Помогите.
chicher
сообщение 24.12.2003 17:20
Сообщение #1





Группа: Пользователи
Сообщений: 7

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


Всем привет! Я - несчастный студент перед сессией. Паскаль знаю на уровне не выше среднего. А злая преподша подкинула задачку. Помогите, я не могу!
 
Оформить в виде подпрограмм следующие задания, причём ввод-вывод осуществялется из главной программы:
1. Для каждой введёной строки выделить и напечатать подстроки, разделённые одним или несколькими арифметическими знаками. Пустые строки не выделять и не печатать.
2. Среди выделенных подстрок найти подстроку, заканчивающуюся наибольшим числом русских букв. При условии нескольких подстрок, удовлетворяющих условию максимума, выбрать первую из них.
3. Если подстрока найдена, то вставить 3 звёздочки после первой цифры. Если символы отсутсвуют в строке, то оставить её без изменений.
 
Я даже не всё понял. Заранее благодарен!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
trminator
сообщение 25.12.2003 11:05
Сообщение #2


Четыре квадратика
****

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

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


выделение подстрок. Запихивает их в массив a
Код

const signs: set of char = ['+','-'];
var a: array[1..10] of string[20];

procedure make_list(var s: string);
var i, j, n: integer;
begin i:=1; j:=1; n:=length(s);
   while i < n do
   begin
       while (s[i] in signs)and(i<=n) do inc(i);
       while (not (s[i] in signs))and(i<=n) do
       begin
           a[j]:=a[j]+s[i]; inc(i)
       end;
       inc(j)
   end;
end;


--------------------
Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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