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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2013, 19:45   #1
Swetic
Пользователь
 
Регистрация: 20.01.2013
Сообщений: 12
Восклицание (Turbo Pascal)Составить программу, выводящую сочетание из двух букв...

Составить программу ,выводящую на экран сочетание из двух букв,встречающееся в данной строке чаще всего.
Swetic вне форума Ответить с цитированием
Старый 20.01.2013, 20:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну в чем проблема? Обьявляешь массив array['a'..'z'] of integer;
Далее по строке в цикле увеличиваешь клетку массива, индекс которого указывает на текущую букву в строке, и после ищещь максимум в этом массиве.
Вот пример: http://www.programmersforum.ru/showthread.php?t=46912
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2013, 23:37   #3
Swetic
Пользователь
 
Регистрация: 20.01.2013
Сообщений: 12
По умолчанию

Была бы благодарна,если бы написали чуть подробнее!
Swetic вне форума Ответить с цитированием
Старый 20.01.2013, 23:44   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Дык я написал бы тоже самое что в приведенной ссылке.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.01.2013, 00:13   #5
Swetic
Пользователь
 
Регистрация: 20.01.2013
Сообщений: 12
По умолчанию

Хорошо,спасибо за помощь!
Swetic вне форума Ответить с цитированием
Старый 21.01.2013, 00:42   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не определено, что считать буквой, так же непонятно, что делать с пробелами..
поэтому, в первом приближении решение может выглядеть так:
Код:
const
  Letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'+
            'АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'+
            'абвгдежзийклмнопрстуфхцчшщъыьэюя';


var
 cnt : array[1..Length(Letters),1..Length(Letters)] of byte;
 s : string;
 i,j,k, iMax, jMax : integer;
begin
 WriteLn('Введите строку: ');
 Readln(s);
 for i:=1 to Length(Letters) do
   for j:=1 to Length(Letters) do
     cnt[i,j] := 0;

 k := 1;
 while k<Length(s) do begin
   i := Pos(s[k], Letters);
   j := Pos(s[k+1], Letters);
   if (i>0) and (j>0) then inc(cnt[i,j]);
   inc(k,2);
 end;

 {поиск максимальной величины}
 iMax := 1; jMax := 1;
 for i:=1 to Length(Letters) do
   for j:=1 to Length(Letters) do
     if cnt[i,j]>cnt[iMax, jMax] then begin
          iMax := i; 
          jMax := j;
     end;

 {вывод результата, если он не нулевой}
 if cnt[ iMax, jMax ] = 0 then 
   WriteLn('Парных букв в строке вообще не найдено!')
 else 
   begin
     WriteLn('Словосочетание ',
        Copy(Letters,iMax,1),Copy(Letters,jMax,1),
        ' встречается ', cnt[ iMax, jMax ] , ' раз.')
   end;

 Readln;

end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.01.2013, 08:27   #7
Swetic
Пользователь
 
Регистрация: 20.01.2013
Сообщений: 12
По умолчанию

Спасибо за помощь!
Swetic вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Turbo Pascal - Составить программу нахождения произведения двух наибольших из трех введенных с клавиатуры чисел.(Условный оператор lady.unika Паскаль, Turbo Pascal, PascalABC.NET 3 05.05.2012 21:36
СОСТАВИТЬ ПРОГРАММУ ПО Turbo Pascal RUSSTUDENT Фриланс 11 16.02.2010 17:20
Помогите составить программу в turbo pascal denis15 Помощь студентам 3 09.06.2009 17:23
Помогите составить программу в turbo pascal denis15 Помощь студентам 1 05.06.2009 18:43
составить программу выводящую на экран координаты вершин треугольников BlackPanther Паскаль, Turbo Pascal, PascalABC.NET 1 05.12.2008 19:13