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

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

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

> СТРАННАЯ ЗАДАЧА, помогите упростить плз
Element
сообщение 22.01.2007 14:13
Сообщение #1


Новичок
*

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

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


Вобщем задачу то я решил ... всё вроде работает... но вот чёто преподу не понравилось что то типа упростить !!(((
дана непустая последовательность слов из строчных латинских букв; слова разделяются запятыми,
за последним словом точка Среди всех пар аi и bi(где ai первая и bi последние буквы итого слова последовательности)
определить наиболее часто встречающуюся пару

program Project1;

{$APPTYPE CONSOLE}





var
s,max : string;
dl,n,dlk,dln: integer;
i,j,M: integer;
kk: array[1..100] of char;
nn: array[1..100] of char;
z: array[1..100] of integer;

begin

writeln('BBedite ctroky');
readln(s);

dlk:=-1;
dln:=0;
s:=','+s+',';

j:=2;





for i:=1 to Length(s) do
if (s[i]=',') then begin
kk[j-1]:=s[i-1];
nn[j]:=s[i+1];
j:=j+1;

end;
for i:=1 to Length(s) do begin
if s[i]=',' then dlk:=dlk+1;
end;
writeln(dlk);
// for i:=2 to dlk+1 do
// begin writeln(nn[i],kk[i]);
// end;



for j:=2 to dlk+1 do

for i:=2 to dlk+1 do
begin
if kk[j]=kk[i] then if nn[j]=nn[i] then
z[j]:=z[j]+1;
// writeln ('proxodi');
// writeln(z[2],z[3]);
end;
M:=z[2];
for i:=2 to dlk+1 do
begin
if z[i]>M then M:=z[i]
end;
Writeln(M);
for i:=2 to dlk+1 do
begin
if z[i]=M then writeln('4awe povtoraetc9 ',nn[i],kk[i],' kol-vo povtorenii ',M);
end;
readln


end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Element
сообщение 13.06.2007 10:16
Сообщение #2


Новичок
*

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

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



program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var

max: integer;
s: string;
i: integer;
j: integer;
z: integer;
n: string; //
k: string; //
begin

Writeln('Vvedite stroky');
readln(s);
n:=n+s[1];
z:=0;
max:=0;
for i:=1 to Length(s) do
begin
if s[i]='.' then
begin
k:=k+s[i-1];
break;
end;
if s[i]=',' then
begin
n:=n+s[i+1];
k:=k+s[i-1];
end;
end; writeln(n,k);
//вот до сюда вроде всё работает нормально
for i:=1 to length(n) do
begin
writeln(n[i],i);
writeln(k[i],i);
for j:=i+1 to length(n) do
begin
if n[i]+k[i]=n[j]+k[j] then
begin
z:=z+1;
writeln(z);
end;
end;
if z>=max then
begin
max:=z;
end;
end;

writeln(max);
readln


подскажите почему он ведёт неправильный подсчёт максимального количества повторений
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 



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