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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2010, 14:32   #1
sergi
Пользователь
 
Регистрация: 23.11.2010
Сообщений: 30
По умолчанию строки

помогите решить
Определить в строке символов последовательность длинной 10 подряд идущих символов, которая содержит наибольшее число согласных букв.Заранее спасибо!
sergi вне форума Ответить с цитированием
Старый 23.11.2010, 14:49   #2
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Как то так. Код не проверял
Код:
uses
	Crt;
	
const
	LEN = 10;
	Sogl = 'qwrtupsdfghjklzxcvbnm';
	
var
	i, l: integer;
	S: String;
	Position: Integer;
	Count: Integer;
	tmp: Integer;
begin
	ClrScr;
	S := 'preved kak dela iiiii';
	Count := 0;
	Position := 0;
	tmp := 0;
	
	for i := 1 to Length(S) - LEN do
	begin
		tmp := 0;
		for l := 1 to LEN do
		begin
			{ Вот тут [Sogl] - сомнения, давно не пользовался таким (( }
			if (S[i + l] in [Sogl]) then Inc(tmp);
		end;
		if tmp > Count then
		begin
			Count := tmp;
			Position := i;
		end;
	end;
	
	WriteLn('Max into = ', i, ' : ', i + LEN);
	ReadKey;
end;
psycho-coder вне форума Ответить с цитированием
Старый 23.11.2010, 15:53   #3
WhiteSpirit
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 82
По умолчанию

Ещё вариант, в Delphi и для русского языка:
Код:
function f1(Text: String): Integer;
var i, Position: Integer;
    cs: set of Char;
    str: String;
begin
if Length(Text) < 10 then Exit;
str:=AnsiUpperCase(Text);
cs:=['А', 'Е', 'Ё', 'И', 'О', 'У', 'Ы', 'Э', 'Ю', 'Я'];
Position:=1;
for i:=11 to Length(str) do
    if not (str[i] in cs) and (str[i - 10] in cs) then Position:=i - 9;
ShowMessage(Copy(Text, Position, 10));
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
f1(Edit1.Text);
end;

Последний раз редактировалось WhiteSpirit; 23.11.2010 в 15:58.
WhiteSpirit вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Дбавление новой строки, после строки с подходящими параметрами RailOS Microsoft Office Excel 5 18.08.2010 10:12
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27