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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2008, 10:36   #1
SYL@R
Пользователь
 
Регистрация: 09.06.2008
Сообщений: 25
По умолчанию help со строками

Строка Т состоит из слов, равной длины, разделенных запятыми. Найти слово, содержащее наибольшее число гласных букв.
SYL@R вне форума Ответить с цитированием
Старый 04.07.2008, 11:07   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А наработки показать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.07.2008, 19:12   #3
terminadoor
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 86
По умолчанию

Сталкивался с подобным. Лучше всего создай массив, где каждой ячейке будет соответствовать слово. А потом создай TStringList и помести туда массив. И тогда можно делать проверку ф-цией pos. В принципе сразу сделать без массива тоже можно, но мне кажеться, что так легче.
TerMinAdoOR
terminadoor вне форума Ответить с цитированием
Старый 07.07.2008, 04:28   #4
SYL@R
Пользователь
 
Регистрация: 09.06.2008
Сообщений: 25
По умолчанию

Код:
program Project2;
uses crt;
var i,k,z,x:integer;
s:string[250];
begin
   clrscr;
   writeln('                    avtor:NAUMOV IVAN ');
   writeln('                               Gruppa: evmk06-1 ');
   writeln('stroka sostoit iz slov, razdelennblx,tochkami. Podschitatb kolichestvo slov  s glasnoi bukvbl.');
  k:=0;
  s:='';
   write('vvedi slova cherez zapetyi' );
   writeln;

  z:=1;
  repeat
  s:='';
  readln(s);  x:=0;
  for i:=1 to length(s) do
  if (s[i]in [' '..'-'])or(s[i]in ['/'..'@'])or(s[i]in ['['..'`'])or(s[i]in ['{'..'~'])then x:=1;
  if x=0 then z:=0 else writeln('vvedi SLOVA!!! cherez tochku!' );
  until z<>1;

  for i:=0 to length(s)-1 do
  begin
  if (s[i]='.')and((s[i+1]='a')or(s[i+1]='e')or(s[i+1]='o')or(s[i+1]='u')
  or(s[i+1]='i')or(s[i+1]='y')) then k:=k+1;
  end;
  if ((s[1]='a')or(s[1]='e')or(s[1]='o')or(s[1]='u')
  or(s[1]='i')or(s[1]='y')) then k:=k+1;
  writeln('kolichestvo slov nachinaulll s glasnoi   ',k);
  readln;
end.
что надо изменить в коде чтобы получить это задание?
Строка Т состоит из слов, равной длины, разделенных запятыми. Найти слово, содержащее наибольшее число гласных букв.
SYL@R вне форума Ответить с цитированием
Старый 07.07.2008, 08:13   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
terminadoor
Ему походу в Паскале нуна.

Вот мое решение:
Код:
var ma,ms,s:string;max,k,i:integer;
begin
s:='poaror keporkopr p oaerr ke orapoa krpokae ';
i:=1 ;k:=0;
while i<=length(s) do begin       ms:=ms+s[i];
   if s[i] in ['a','e','o'] then begin inc(k);end;
   if s[i]=' ' then begin
   if k>max then begin
      max:=k ;  ma:=ms;
   end;
      ms:='';  k:=0;
   end;
   inc(i);
end;
writeln(s+' = '+ma);
end;
Здесь только парочка гласных учиывается, добавь остальные букавы )
I'm learning to live...

Последний раз редактировалось Stilet; 07.07.2008 в 08:16.
Stilet вне форума Ответить с цитированием
Старый 07.07.2008, 13:01   #6
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Поскольку
Цитата:
Строка Т состоит из слов, равной длины, разделенных запятыми.
немного поправлю.
Код:
uses crt;
var ma,ms,T:string;max,k,i:integer;
begin
clrscr;
T:='poaror,keporkopr,p,oaerr,ke,orapoa, krpokae';
i:=1 ;k:=0;
while i<=length(T) do
   begin
     if (T[i]<>',') then
     ms:=ms+T[i];
     if T[i] in ['a','e','o'] then
       begin
         inc(k);
       end;
     if T[i]=',' then
       begin
         if k>max then
            begin
              max:=k;
              ma:=ms;
            end;
         ms:='';
         k:=0;
       end;
    inc(i);
   end;
writeln(T);
writeln('Bolshe glasnyh v slove: ',ma);
readln
end.
puporev вне форума Ответить с цитированием
Старый 07.07.2008, 13:04   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
немного поправлю.
Надеюсь автор сам понял где и что нужно подправить )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемы со строками MAD Помощь студентам 1 23.12.2007 17:31
[С++]работа со строками Федор Помощь студентам 6 23.12.2007 12:35
РАБОТА СО СТРОКАМИ kluwa Общие вопросы C/C++ 7 20.12.2007 18:30