Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2009, 22:15   #1
katya36
Пользователь
 
Аватар для katya36
 
Регистрация: 19.12.2008
Сообщений: 51
Вопрос ф-ции и процедурыю работа с текстом

Найдите все слова в предложении, которые содержат заданные буквы. Для определения буквенного состава слова используйте процедуру.

подкиньте идейку плиз как решать это?! тексты только начали проходить...
katya36 вне форума Ответить с цитированием
Старый 31.03.2009, 02:15   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Во-первых у Вас предложение.(банальное s:string);
Заданные буквы заносите тоже в строку( smpl:string
Берете первое слово из предложения и в цикле прогоняете по всем буквам
1) Если вам нужно чтобы все буквы содержались в sampl то как вариант
f:=true;\\булева переменная(f:boolean
for i:=1 to length(x) do
if pos(x[i],smpl)=0 then f:=false;
if а then writeln(x);
x - содержитбуквы из введенного образца
2) Если надо чтобы хоть одну букву содержал то
f:=false;
for i:=1 to length(x) do
if pos(x[i],smpl)<>0 then f:=true;
if f then writeln(X); - x содержит хотя бы одну букву из введенного образца

Все что остается это выделить слово из предложения. Здесь эта задача решалась не один десяток раз. Хотя бы здесь
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 08.04.2009, 22:01   #3
katya36
Пользователь
 
Аватар для katya36
 
Регистрация: 19.12.2008
Сообщений: 51
По умолчанию

Мы Стринг ещё не проходили!(( Преподаватель объяснила так:
надо сделать процедуру, которая пропускает пробелы и запоминает- где начало и где конец слова. Затем нужно пробежаться по этому слову и выяснить, все ли его буквы равны заданным? Я знаю как начало делать!


{Найдите все слова в предложении, которые содержат заданные буквы. Для определения буквенного состава слова используйте процедуру.}

Код:
Program predlogenie;
const n=10; eot='@';   //eot-конец текста
var Predl=array[1..n] of char;
     i:integer;
procedure read_predl (var Pr);
Var  i:integer;
Begin
I:=0;
Repeat
  I:=i+1;
  readln(Pr[i]);
Until (i=maxl) or (Pr[i]=eot);
If Pr[i]=eot then
  n:=i-1
else
  n:=i;
End;

А дальше помогите пожалуйста! )

Подскажите плиз как это все написать???

Последний раз редактировалось Stilet; 09.04.2009 в 11:26.
katya36 вне форума Ответить с цитированием
Старый 09.04.2009, 11:56   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Могу такое порекомендовать:
Код:
type str=array[1..255] of char; {Тип строки}
  procedure aga(b:str;var x,length:integer);
  var i:byte;
  begin
    while (x<255)and(b[x]<>' ') do
     x:=x+1;
    x:=x;i:=x+1;
    while (i<255)and(b[i]<>' ') do
     i:=i+1;
    length:=i-x-1;
  end;
  var q,w:integer; k:str;s:string;
begin
 q:=1; {Это координата начало слова}
 w:=1; {Координата конца слова}
  aga(k,q,w);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.04.2009, 19:14   #5
katya36
Пользователь
 
Аватар для katya36
 
Регистрация: 19.12.2008
Сообщений: 51
По умолчанию

ага, спасибо) а теперь можно пару вопросов: тип byte не проходили ещё, его можно заменить на integer?? и lengt- это что такое? не роходили такого еще(
katya36 вне форума Ответить с цитированием
Старый 09.04.2009, 19:16   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

byte - целые числа 0..255, заменить можно на integer
length(s) - определяет длину строки s
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 09.04.2009, 19:51   #7
Манжосов Денис :)
Участник клуба
 
Регистрация: 29.01.2008
Сообщений: 1,039
По умолчанию

Раздел предложения на слова можешь здесь взглянуть
http://delphibeginer.zbord.ru/viewtopic.php?t=64
А именно урок 2
Манжосов Денис :) вне форума Ответить с цитированием
Старый 09.04.2009, 22:03   #8
katya36
Пользователь
 
Аватар для katya36
 
Регистрация: 19.12.2008
Сообщений: 51
По умолчанию

Спасибо большое, поизучаю!))

и ещё: а как другим способом определить длину строки??

Последний раз редактировалось Stilet; 13.04.2009 в 10:19.
katya36 вне форума Ответить с цитированием
Старый 13.04.2009, 10:19   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и ещё: а как другим способом определить длину строки??
Хакерским, который вы не изучали:
Код:
Длина строки:=byte(s[0]);
Length() - это стандартная функция.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с текстом в си++ Sjava Помощь студентам 3 21.12.2008 11:54
Работа с текстом vinimixer Общие вопросы Delphi 0 07.11.2008 21:19
Работа с текстом.[C] DropYourWeapon Общие вопросы C/C++ 3 15.10.2008 21:55
Работа с текстом boostman Общие вопросы Delphi 5 14.09.2008 12:57