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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2011, 12:05   #1
indokz
 
Регистрация: 30.10.2011
Сообщений: 7
По умолчанию Строки, поиск символов, pascal

Дан массив строк.
Найти в каждом заданном предложении указать слово в котором доля символов N,E,R,O максимальна.
indokz вне форума Ответить с цитированием
Старый 30.10.2011, 13:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну а в чем проблема?
Разбить на слова не можешь или долю букв найти?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2011, 13:31   #3
indokz
 
Регистрация: 30.10.2011
Сообщений: 7
По умолчанию

строки по предложениям не могу)
ну и собственно не предстваляю пока как осуществить поиск элемента 2-3 и т.д елемента равного допустим N.
indokz вне форума Ответить с цитированием
Старый 30.10.2011, 13:59   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
строки по предложениям не могу)
http://www.programmersforum.ru/showt...369#post398369
Цитата:
как осуществить поиск элемента 2-3 и т.д елемента равного допустим N.
Чего???
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2011, 14:25   #5
indokz
 
Регистрация: 30.10.2011
Сообщений: 7
По умолчанию

ну найти к примеру в слове abrakadabra
все буквы А, точнее даже не буквы а их колличество в данном слове)
вот я предпологаю как первую найти, а как остольный уже заблуждаюсь
indokz вне форума Ответить с цитированием
Старый 30.10.2011, 14:57   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а как остольный уже заблуждаюсь
Код:
Function Worda(Worde:String;c:char);var i:integer;
begin Worda:=0; for i:=1 to Length(Worde) do if worde[i]=c then Worda:=Worda+1;end;
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2011, 15:03   #7
indokz
 
Регистрация: 30.10.2011
Сообщений: 7
По умолчанию

мм типо если с присваеваем перед исполнением функции некое значение то его будет искать в строке пока она не кончиться:? и накручивать счетчик?
indokz вне форума Ответить с цитированием
Старый 30.10.2011, 15:05   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ага. Не совсем оптимально, но работать будет.
А лучше всего накручивать массив счетчиков по ходу ввода строки, но это уже совсем другая история )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2011, 16:33   #9
indokz
 
Регистрация: 30.10.2011
Сообщений: 7
По умолчанию

ну вот что у меня получилось, но дальше я чтото уже не пойму, как теперь вставить процедуры чтоб взависимости от способа задания текста разбивался на предложения а затем на строки и считались символы, ну и конечно вывод слова с максимальным набором символов
Код:
program proga;
uses crt;
const n=100;
      m=4;
      mas1:array [1..m] of string = (('Veter po moru gulyaet'),
                                    	   ('I korablik podgonyaet'),
                                                ('On bejit sebe v volnah'),
                                                ('Na razdutblh parusah'));
type  mas=array [1..n] of string;
var name,wrd,s,ss: string;
      i,j,b: word;
      ld,a,lk:mas;
      q,code:char;
      sl:integer;
Var f3:text;
 procedure Droblenie (i,count:byte;s:string;a,ld:mas);
begin
   count:=1;
   i:=1; while (i<=length(s)) do begin
   if (s[i]='  ') or (s[i]='!') or (s[i]='?') or (s[i]='.') then begin inc(count);inc(i);end;
   a[count]:=a[count]+s[i];
   inc(i); end;end;

procedure Droblenie2 (i,count:byte;ss:string;a,ld:mas);
begin
   count:=1;
   i:=1; while (i<=length(ss)) do begin
   if (s[i]=' ') then begin inc(count);inc(i);end;
   a[count]:=a[count]+ss[i];
   inc(i); end; end;
Function Worda(Worde:String;c:char):integer;
begin Worda:=0; for i:=1 to Length(Worde) do
      if worde[i]=c then sl:=sl+1; end;


begin  writeln ('Ukajite sposob zadania texta');
       writeln ('Y - esli jelaite vvesti text s klaviaturbl');
       writeln ('U - esli hotite vstavit text iz faila');
       writeln ('I - esli hotite vstavit text zadannblu programmou');
       readln (code);
  case code of
'Y': begin clrscr;
writeln ('Vvedite razmer  massiva');
readln (b);
writeln ('Vvedite massive strok');
for i:=1 to b do
begin
writeln ('stroka N',i,' ');
readln (lk[i]);
end;
readkey;
clrscr;
writeln ('Vvedennblu vami tekst');
write ('  ',lk[1]);
'for i:=2 to b do
write ('  ',lk[i]);
writeln;
end;
'I':begin clrscr;
writeln ('Tekst zadanblu programmou');
for i:=1 to m do
writeln ('  ',mas1[i]);
writeln; end;
'U':begin clrscr;
writeln('Vvedite imya faila');
 readln(name);
 assign(f3,name);
 reset(f3);
 q:=' ';
 sl:=0;
 while not eof(f3) do
 begin
 readln(f3,wrd);
 i:=1;
 While i<=length(wrd) do
 begin
 if wrd[i]<>'.' then sl:=sl+1;
 while (wrd[i]<>'.') and (i<=length(wrd)) do inc(i);
 inc(i)
 end;
 a[i]:=wrd;
 writeln ('Text polu4ennblu iz faila');
 writeln (a[i]);
 end;
 close(f3);end;
end.
indokz вне форума Ответить с цитированием
Старый 30.10.2011, 17:22   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
взависимости от способа задания текста разбивался на предложения а затем на строки
Зачем разбивать на предложения? Достаточно разбивать на слова. Т.Е. В цикле вводим по предложению, оканчивающемуся ентером, его сразу проверяем и обрабатываем.

Твой код непонятен совершенно... Не думаешь ли его переписать совсем совсем, и начать именно с цикла ввода предложений?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск наименьшего ASCII кода из строки символов igorio4eg Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 10.10.2011 18:08
[Pascal] Удаление символов из строки just4smth Помощь студентам 17 15.05.2011 21:15
Поиск символов в тексте ksu25 Паскаль, Turbo Pascal, PascalABC.NET 2 25.09.2009 19:23