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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2009, 01:18   #1
fawr
Пользователь
 
Регистрация: 19.10.2009
Сообщений: 25
По умолчанию строки паскаль подскажите

вовдится предложение с клавиатуры (перед этим вводится переменная - количество слов в прелдожении, которое собираешься ввести - иммено так потому что по другому не знаю как...) а затем надо вывести то слова из предложения в котором наибольшее число гласных "а".... задача на паскале
Код:
uses
crt;
var
a,b:array [1..100] of string[100];
d:array [1..100] of integer;
s,z:string;
i,j,k,m,t,n:integer;
begin
clrscr;
writeln('ykazhite koli4estvo slov v predlozhenii');
readln(k);
writeln('piwite predlozhenie');
for i:=1 to k do
readln(a[i]); ---------------------- это начало, ввёл каждое слово как элемент массива... дальше надо ведь капаться в каждом из слов(в каждом из элементов массива) сравнивая его буквы с 'a' -------------
n:=0;
for i:=1 to k do
begin
t:=0;
b:=a[i];  ----- я вот ничего другого придумать не могу как кроме присваивать каждое слово другому масиву и перебирать его вот только так вроде нельзя.....   --------------
m:=length(a[i]);
for j:=1 to m do
if b[j]='a' then
inc(t);
end;
------------ тут начинается ступар и совсем ничего не идёт - подкиньте дровишек пожалуйста

Последний раз редактировалось Stilet; 20.11.2009 в 08:57.
fawr вне форума Ответить с цитированием
Старый 20.11.2009, 04:15   #2
Dmitry333
Пользователь
 
Аватар для Dmitry333
 
Регистрация: 13.11.2009
Сообщений: 60
По умолчанию

Количество слов в строке можно узнать по количесиву пробелов + 1.
Далее можно извращаться как-угодно: либо просто пробегать по словам до пробела и считать "а", затем удалять слово, либо вырезать слово из строки в другую и считать "а" пока не переберёшь все слова, либо..... пока фантазия не закончится
Dmitry333 вне форума Ответить с цитированием
Старый 20.11.2009, 08:37   #3
Orakul89
Пользователь
 
Регистрация: 12.11.2009
Сообщений: 20
По умолчанию

Код:
var
a:array [1..100] of string[100];
t:array [1..100] of integer;
i,j,k,n:integer;
begin
writeln('ykazhite koli4estvo slov v predlozhenii');
readln(k);
writeln('piwite predlozhenie');
for i:=1 to k do
readln(a[i]);
for i:=1 to k do
begin
t[i]:=0;
for j:=0 to length(a[i]) do
if a[i][j]='a' then t[i]:=t[i]+1;
writeln(length(a[i]),'   ',t[i],'    ',a[i]);
end;
n:=1;
for i:=2 to k do
if t[n]<t[i] then n:=i;
writeln(a[n],' - tut "а"');
readln;
end.
твой код с небольшими изменениями.
Orakul89 вне форума Ответить с цитированием
Старый 20.11.2009, 09:08   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
иммено так потому что по другому не знаю как.
Показываю, я бы так сделал:
Код:
 var s,sm,e:string; i,mx,mm:integer;
begin
  readln(s);mx:=0;mm:=0;sm:='';s:=s+' ';
  i:=1; while i<=length(s) do begin
    if s[i]<>' ' then begin
     sm:=sm+s[i];
     mx:=mx+byte(s[i]='a');
    end else begin
      if mm<mx then begin e:=sm; mm:=mx; end;
      mx:=0;  sm:='';
    end;
    inc(i);
   end;
  writeln(e);
  readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.11.2009, 09:41   #5
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Код:
var s, slovo : string;
    i : integer;

begin
    write('Vvedite tekst: ');
    readln(s);
    s:=s+'.';
    i:=1;  slovo:=''; 
    while i<>length(s)+1 do
    begin
      if s[i] in ['a'..'z','A'..'Z','1'..'9'] then slovo:=slovo+s[i]
      else begin {найдено слово содержится в переменой slovo выполняешь над ним своё условие} 
        slovo:='';
      end;      
      inc(i);
    end;
end.
Почти аналог кода Stilet. Только подразумевает ещё и запятые и различные знаки.

Последний раз редактировалось dr.Chas; 20.11.2009 в 09:48.
dr.Chas вне форума Ответить с цитированием
Старый 21.11.2009, 00:56   #6
fawr
Пользователь
 
Регистрация: 19.10.2009
Сообщений: 25
По умолчанию

оооооо спасибо всем.
a[i][j] даже и не подозревал чт отак можно
fawr вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки.Паскаль.Подскажите плз. NEMO1991 Паскаль, Turbo Pascal, PascalABC.NET 3 05.06.2009 19:55
паскаль(( строки(( lumenка Паскаль, Turbo Pascal, PascalABC.NET 0 23.05.2009 17:53
подскажите паскаль Катюшка Паскаль, Turbo Pascal, PascalABC.NET 5 28.11.2006 06:44