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

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

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

 
 Ответить  Открыть новую тему 
> Треугольник паскаля
nblazhko
сообщение 28.08.2008 18:19
Сообщение #1


Новичок
*

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

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


Помогите плиз а то вообще не соображу:
Имеется некоторое предложение ( слова раздиляются символами подчеркивания - "_") Использую треугольник паскаля, зашифруйте исходное предложение по след. правилу:
1. Из предложения выделяется очередное слово
2. Из треуг. Паскаля выбирается строка с номером, равным числу букв в слове.
2. k-я буква исходного слова заменяется на букву,отстоящию от исходной на число букв,указанное в k-том столбце,выбранной строки треуг. Паскаля

я смог ток треугольник сделать
вот

program Triangle;
uses Crt;
const N = 10;
var
i, j : Integer;
A : array[1..N, 1..N] of Integer;
begin

for j:= 1 to N do
for i:= 1 to N do
begin
A[j, 1]:= 1;
A[i, i]:= 1;
end;

for i:= 3 to N do
begin
For j:= 2 to i-1 do A[i, j]:= A[i-1, j-1]+A[i-1, j];
end;


ClrScr;
for i:= 1 to N do
begin
for j:= 1 to N-i do Write(' ':3);
for j:= 1 to i do Write(a[i, j]:6);
WriteLn;
end;

ReadLn;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 28.08.2008 18:40
Сообщение #2


Гость






Ну, ты ж Треугольник Паскаля заполнил? В чем дальше проблема? Как разбивать строку на слова - см. здесь:
Разбиение на слова. Все способы.

Допустим, что уже разбил, и у тебя отдельные слова лежат в массиве Words. Вот так получаешь зашифрованный текст:

program Triangle;
uses Crt;

const
nWords = 5;
alphabet: string =
'abcdefghijklmnopqsrtuvwxyz'; { <--- при желании - измени алфавит }

words: array[1 .. nWords] of string =
('this', 'is', 'just', 'a', 'test');
var
s, s_out: string;
modulus: integer;

const
N = 10;
var
i, j : Integer;
A : array[1..N, 1..N] of Integer;
begin
{ здесь заполняешь свой Треугольник... }

{ ... и дальше: }

for i := 1 to nWords do begin
s := words[i]; s_out := '';
for j := 1 to length(s) do begin
modulus := (pos(s[j], alphabet) + A[length(s), j]) mod length(alphabet);
if modulus = 0 then modulus := length(alphabet);

s_out := s_out + alphabet[modulus];
end;
writeln(s_out); { <--- печатаешь очередное слово }
end;

end.
Что-то непонятно?
 К началу страницы 
+ Ответить 
nblazhko
сообщение 28.08.2008 19:20
Сообщение #3


Новичок
*

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

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


Спасибо огромное!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



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