IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Программа со строками
nblazhko
сообщение 19.02.2008 17:14
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 42
Пол: Мужской

Репутация: -  0  +


описать функцию, которая возвращает кол-во слов, в которых содержится хотя бы одна заданная буква
Я использовал такую конструкцию:

program kk;
uses crt;
var
 st,by:string;

function word:integer;
 var
  i,s1,s2:integer;
  begin
	s1:=0;
	for i:=1 to length(st) do
		begin
		 
		 if st[i]=by then s1:=s1+1;
		halt;
		end;
		writeln('Slov: ',s1);
		word:=s1;
   end;

begin
 clrscr;
 writeln;
writeln('vvedite slova: ');
readln(st);
writeln('vvedite by: ');
readln(by);
writeln(word);
readln;
end.



НО она считает кол-во букв а не слов не подскажите как переделать?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 19.02.2008 17:37
Сообщение #2


Гость






Цитата
Я использовал такую конструкцию:
Используй вот такую:
const chars = [' ', ','];
var
  s: string;
  ch: char;
  i, count: integer;
  b: boolean;
begin
  s := 'started, finished, , , begin, , end,,,';
  i := 1; count := 0;

  ch := 'e';

  while i <= length(s) do begin
    while (i <= length(s)) and (s[i] in chars) do inc(i);
    b := false;
    while (i <= length(s)) and not (s[i] in chars) do begin
      if (not b) and (s[i] = ch) then begin
        b := true; inc(count)
      end;
      inc(i);
    end;
  end;
  writeln(count);
end.

 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 28.07.2025 19:02
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"