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

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

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

 
 Ответить  Открыть новую тему 
> Треугольник паскаля
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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.
Что-то непонятно?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


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

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

 





- Текстовая версия 5.12.2020 10:13
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name