Задача на Паскале. Тема: строки
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Задача на Паскале. Тема: строки - 2007-11-27 12:14:18.006666
|
|
|
defacer
Сообщений: 96
Оценки: 0
Присоединился: 2007-03-24 17:33:39.030000
|
Здравствуйте! помогите решить задачу на паскеле по томе строки. Вот условие задачи: Найти в строке тройку слов таких, что из букв двух слов можно получить третье (при составлении этого слова следует использовать все буквы двух других). Если таких троек несколько, вывести ту, которая имеет максимальное суммарное количество букв. Заранее благодарю не только за код, но и за идеи решения. Одно условие - в задаче нельзя юзать массивы :)
|
|
|
RE: Задача на Паскале. Тема: строки - 2007-11-27 14:02:07.243333
|
|
|
Alaget
Сообщений: 330
Оценки: 0
Присоединился: 2007-11-08 15:57:53.170000
|
program Triada;
var S:String;
i,i1,i2,i3,masLength:integer;
s1,s2,s3,s4,s5,s6,s7,s8,s9:String;
begin
Writeln('Vvedite stroku');
Readln(S);
for i:=0 to Length(S) do
begin
if Copy(S,i,1)=' ' then
begin
i1:=i;
while Copy(S,i1,1)<>' ' do inc(i1);
if s1='' then
begin
s1:=Copy(S,i,i1-i);
masLength:=1;
end
else
if s2='' then
begin
s2:=Copy(S,i,i1-i);
masLength:=2;
end
else
if s3='' then
begin
s3:=Copy(S,i,i1-i);
masLength:=3;
end
else
if s4='' then
begin
s4:=Copy(S,i,i1-i);
masLength:=4;
end
else
if s5='' then
begin
s5:=Copy(S,i,i1-i);
masLength:=5;
end
else
if s6='' then
begin
s6:=Copy(S,i,i1-i);
masLength:=6;
end
else
if s7='' then
begin
s7:=Copy(S,i,i1-i);
masLength:=7;
end
else
if s8='' then
begin
s8:=Copy(S,i,i1-i);
masLength:=8;
end
else
if s9='' then
begin
s9:=Copy(S,i,i1-i);
masLength:=9;
end
else Exit;
end;
end;
end.
Здесь разбивается строка на слова, которые заносятся в подобие массива из девяти элементов переменная masLength означает количество занесённых слов. Как сам понимаешь можно и сто и тысяча элементов. Формально это не массив, фактически жалкое подобие. Дальше всё очень тривиально. Я просто прибалдею если скажут что надо оптимизировать, или не компилируется.
|
|
|
|
|