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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2010, 12:23   #11
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от Dеlphi Посмотреть сообщение
4.получить перевертыш исходной строки;
s - строка
s2 -строка с результатом
Код:
s2:='';
for i:=length(s) downto 1 do
s2:=s2+s[i];
задавай конкретный вопрос, а сделать за тебя во фрилансе только могут
И к чему такие сложности городить!!! Ведь есть же

function AnsiReverseString ( const Source : AnsiString ) : AnsiString;

Функция AnsiReverseString возвращает строку Source с полностью перевернутой последовательностью символов.
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 11.11.2010, 13:12   #12
Noor
Участник клуба
 
Аватар для Noor
 
Регистрация: 01.11.2006
Сообщений: 1,051
По умолчанию

Да тут один поиск по форуму может решить все вопросы.
http://programmersforum.ru/showthread.php?t=32328 (как убрать пробелы)
по такому же принципу можно и все остальное знаки убрать.
http://programmersforum.ru/showthread.php?t=34050 (как искать слово с строке)
Вот как найти гласные
Код:
function check(const C:Char): Boolean ;
begin
  result:=AnsiUpperCase(C)[1] in ['А','Е','Ё','И','О','У','Ы','Э','Ю','Я','а','е','ё','и','о','у','ы','э','ю','я'];
end;
Пример использования
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 begin
 count:=0;
 if Edit1.Text <> '' then
 begin
   for i:=1 to Length(Edit1.Text) do
   begin
     if check(Edit1.text[i]) then
     Inc(count);
   end;
  ShowMessage('В строке найдено ' + IntToStr(count) + ' гласных букв');
 end
 else ShowMessage('Вы не ввели слово!');
 end;
  end;
Как сделать согласные думаю объяснять не стоит ....

Последний раз редактировалось Noor; 11.11.2010 в 13:22.
Noor вне форума Ответить с цитированием
Старый 11.11.2010, 15:10   #13
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

чувак, ты же говоришь что по базам данных шаришь?
так в чем проблема?

строка это база данных.
каждый символ этой строки - это один элемент базы данных.
твоя база данных кпорядочена определенным образом,
ты возьми и перепиши слоты базы данных в обратном порядке - это будет 4е задание.
а теперь возьми и создай новыу базу данных, и выпиши в нее все элементы из первой базы, которые не равны "," "." "!" "?" и т.п. - это будет... (какое там задание?)


допустим дана база данных типа string (строка):

str:='превед, Медвед!!!';

обращение к первому элементу базы данных: str[1]

создание новой базы данных: str2:=''; ('' - это 2 одинарных кавычки)

сравнение элемента базы данных: if str[1] <> '!' then str2[1]:=str[1]
xrob вне форума Ответить с цитированием
Старый 11.11.2010, 15:26   #14
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от xrob Посмотреть сообщение

строка это база данных.
Абалдеть!!! А мне всегда казалось что это массив символов...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 11.11.2010, 15:43   #15
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

Grag, а массив символов - чем не база данных?
я просто под столом был от того что чел шарящий по базам данных не может реализовать простейший синтаксический анализ.
xrob вне форума Ответить с цитированием
Старый 11.11.2010, 15:54   #16
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
А мне всегда казалось что это массив символов...
Grag, массив символов - это скучно. Предлагаю впредь считать строку логарифмической функцией.
_SERGEYX_ вне форума Ответить с цитированием
Старый 11.11.2010, 17:14   #17
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

Цитата:
1.подсчитать количество гласных букв;
2.подсчитать количество согласных букв;
3.получить из данной строки новую строку без знаков препинания;
4.получить перевертыш исходной строки;
5.определить встречается ли в исходной строке введенное с клавиатуры слово.
Код:
var
  Form1: TForm1;
  mass_glas:array[1..21] of string;
  mass_soglas:array[1..47] of string;
  mass_prep:array[1..26] of string;
implementation

{$R *.dfm}

function iskat_glasn(s:string):integer;
var
n,n2:integer;
begin
result:=0;
for n2:=1 to length(s) do begin
for n:=1 to 20 do begin
if mass_glas[n]=s[n2] then begin
result:=result+1;
end;
end;
end;
end;

function iskat_soglasn(s:string):integer;
var
n,n2:integer;
begin
result:=0;
for n2:=1 to length(s) do begin
for n:=1 to 46 do begin
if mass_soglas[n]=s[n2] then begin
result:=result+1;
end;
end;
end;
end;

function novaya_stroka_bez_prep(s:string):string;
var
n,n2:integer;
begin
result:='';
for n:=1 to length(s) do begin
for n2:=1 to 25 do begin
if mass_prep[n2]<>s[n] then begin
result:=result+s[n];
end;
end;
end;
end;

function novaya_stroka_perevertih(s:string):string;
var
n:integer;
begin
result:='';
for n:=1 to length(s) do begin
result:=s[n]+result;
end;
end;

function poisk_slovo(slovo_po_kotoromu_budut_iskat,text_v_kotorom_idet_poisk:string):boolean;
var
s:string;
e,n:integer;
begin
if (text_v_kotorom_idet_poisk='') or (slovo_po_kotoromu_budut_iskat='') then exit;
s:='';
e:=1;
n:=0;
for n:=1 to length(text_v_kotorom_idet_poisk) do begin
  if text_v_kotorom_idet_poisk[n]=slovo_po_kotoromu_budut_iskat[e] then begin
  e:=e+1;
  s:=s+text_v_kotorom_idet_poisk[n];
  end;
if s=slovo_po_kotoromu_budut_iskat then begin
result:=true;
exit;
end;
  end;
  result:=false;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
mass_glas[1]:='А';
mass_glas[2]:='Е';
mass_glas[3]:='Ё';
mass_glas[4]:='И';
mass_glas[5]:='О';
mass_glas[6]:='У';
mass_glas[7]:='Ы';
mass_glas[8]:='Э';
mass_glas[9]:='Ю';
mass_glas[10]:='Я';
mass_glas[11]:='а';
mass_glas[12]:='е';
mass_glas[13]:='ё';
mass_glas[14]:='и';
mass_glas[15]:='о';
mass_glas[16]:='у';
mass_glas[17]:='ы';
mass_glas[18]:='э';
mass_glas[19]:='ю';
mass_glas[20]:='я';
mass_soglas[1]:='Б';
mass_soglas[2]:='В';
mass_soglas[3]:='Г';
mass_soglas[4]:='Д';
mass_soglas[5]:='Ж';
mass_soglas[6]:='З';
mass_soglas[7]:='Й';
mass_soglas[8]:='К';
mass_soglas[9]:='Л';
mass_soglas[10]:='М';
mass_soglas[11]:='Н';
mass_soglas[12]:='П';
mass_soglas[13]:='Р';
mass_soglas[14]:='С';
mass_soglas[15]:='Т';
mass_soglas[16]:='Ф';
mass_soglas[17]:='Х';
mass_soglas[18]:='Ц';
mass_soglas[19]:='Ч';
mass_soglas[20]:='Ш';
mass_soglas[21]:='Щ';
mass_soglas[22]:='Ъ';
mass_soglas[23]:='Ь';
mass_soglas[24]:='б';
mass_soglas[25]:='в';
mass_soglas[26]:='г';
mass_soglas[27]:='д';
mass_soglas[28]:='ж';
mass_soglas[29]:='з';
mass_soglas[30]:='й';
mass_soglas[31]:='к';
mass_soglas[32]:='л';
mass_soglas[33]:='м';
mass_soglas[34]:='н';
mass_soglas[35]:='п';
mass_soglas[36]:='р';
mass_soglas[37]:='с';
mass_soglas[38]:='т';
mass_soglas[39]:='ф';
mass_soglas[40]:='х';
mass_soglas[41]:='ц';
mass_soglas[42]:='ч';
mass_soglas[43]:='ш';
mass_soglas[44]:='щ';
mass_soglas[45]:='ъ';
mass_soglas[46]:='ь';
mass_prep[1]:='.';
mass_prep[2]:=',';
mass_prep[3]:='?';
mass_prep[4]:='!';
mass_prep[5]:=':';
mass_prep[6]:=';';
mass_prep[7]:='—';
mass_prep[8]:='–';
mass_prep[9]:='(';
mass_prep[10]:=')';
mass_prep[11]:='[';
mass_prep[12]:=']';
mass_prep[13]:='{';
mass_prep[14]:='}';
mass_prep[15]:='<';
mass_prep[16]:='>';
mass_prep[17]:='«';
mass_prep[18]:='»';
mass_prep[19]:='„';
mass_prep[20]:='“';
mass_prep[21]:='”';
mass_prep[22]:='…';
mass_prep[23]:=' ';
mass_prep[24]:='/';
mass_prep[25]:=#39;
end;
Ну вы хоть репы добавите?
Воображение важнее, чем знания. (Albert Einstein)
dmitriegorovih вне форума Ответить с цитированием
Старый 11.11.2010, 17:27   #18
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

dmitriegorovih, что это было?

Цитата:
...
mass_glas[1]:='А';
mass_glas[2]:='Е';
mass_glas[3]:='Ё';
mass_glas[4]:='И';
mass_glas[5]:='О';
...
*me в ужасе с??бал под стол
xrob вне форума Ответить с цитированием
Старый 11.11.2010, 18:14   #19
dmitriegorovih
Ещё не
Форумчанин
 
Аватар для dmitriegorovih
 
Регистрация: 04.01.2010
Сообщений: 517
По умолчанию

Цитата:
dmitriegorovih, что это было?
В смысле а что?
Цитата:
*me в ужасе с??
извините но я чё-то не очень вас понял?
Воображение важнее, чем знания. (Albert Einstein)
dmitriegorovih вне форума Ответить с цитированием
Старый 11.11.2010, 18:16   #20
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это довольно громоздкий метод решения задачи, но тем не менее рабочий вполне(на взгляд, я не тестил)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстом. J0n1cK Помощь студентам 1 30.05.2009 15:19
Работа с текстом. J0n1cK Паскаль, Turbo Pascal, PascalABC.NET 4 09.05.2009 00:29
работа с текстом... Poll Помощь студентам 5 23.01.2009 11:43
Работа с текстом vinimixer Общие вопросы Delphi 0 07.11.2008 21:19
Работа с текстом.[C] DropYourWeapon Общие вопросы C/C++ 3 15.10.2008 21:55