0 / 0 / 0
Регистрация: 25.12.2016
Сообщений: 27
1

Зашифровать исходное предложение используя треугольник Паскаля

29.05.2017, 20:47. Показов 4066. Ответов 1

Author24 — интернет-сервис помощи студентам
C клавиатуры вводится предложение, слова в котором разделены символом ‘_’. Используя треугольник Паскаля зашифруйте исходное предложение по правилу:
- Из предложения выделяется слово;
- Из треугольника Паскаля выбирается строка с номером равным числу букв в слове;
- К-я буква исходного слова заменяется на букву, отстоящую от исходной на число букв, ука-занное в к-м столбце выбранной строки треугольника.
Миниатюры
Зашифровать исходное предложение используя треугольник Паскаля  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2017, 20:47
Ответы с готовыми решениями:

Используя треугольник паскаля, зашифровать исходное предложение
Задание 2: 1)Запросить у пользователя максимально возможную по условиям длинну LenMax строки. ...

Используя треугольник Паскаля, зашифруйте исходное предложение
Всем привет. Друзья, помогите начинающему программисту с задачей:) Имеется некоторое предложение...

Построить треугольник Паскаля. Используя треугольник Паскаля, вычислить 𝑘−ое число Фиббоначчи. Нумерация чисел Фиббона
#include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); ...

Вывести треугольник Паскаля, используя динамический массив. Ошибка "Segmentation fault (core dumped)"
Задача такова: вывести треугольник паскаля используя динамический массив. Я написала, но выдает...

1
Администратор
Эксперт .NET
16989 / 13348 / 5209
Регистрация: 17.03.2014
Сообщений: 27,293
Записей в блоге: 1
30.05.2017, 01:10 2
Лучший ответ Сообщение было отмечено Exrt как решение

Решение

Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Подготовка данных
 
// Факториал
const int MAX = 21;
long[] fact = new long[MAX];
fact[0] = fact[1] = 1;
for (int i=2; i<fact.Length; i++)
{
    fact[i] = checked(i * fact[i-1]);
}
 
// Треугольник Паскаля
var pascalTriangle = new int[MAX][];
for (int n=0; n<MAX; n++)
{
    pascalTriangle[n] = new int[n+1];
    for (int k=0; k<=n; k++)
    {
        checked
        {
            long combination = fact[n] / (fact[k] * fact[n - k]);
            pascalTriangle[n][k] = (int)combination;
        }
    }
}
 
// Шифрование
 
const string ABC = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
string text = "ШИРОКАЯ_ЭЛЕКТРИФИКАЦИЯ_ЮЖНЫХ_ГУБЕРНИЙ_ДАСТ_МОЩНЫЙ_ТОЛЧОК_ПОДЪЁМУ_СЕЛЬСКОГО_ХОЗЯЙСТВА";
WriteLine(text);
 
var sb = new StringBuilder(text.Length);
foreach (string oneWord in text.Split('_'))
{
    int[] pascalRow = pascalTriangle[oneWord.Length-1];
    if (sb.Length > 0) sb.Append("_");
 
    for (int i=0; i<oneWord.Length; i++)
    {
        char ch = oneWord[i];
        int idx = ABC.IndexOf(ch);
        Debug.Assert(idx != -1, string.Format("Letter '{0}' is absent", ch));
 
        ch = ABC[(idx + pascalRow[i]) % ABC.Length];
        sb.Append(ch);
    }
}
text = sb.ToString();
WriteLine(text);
0
30.05.2017, 01:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2017, 01:10
Помогаю со студенческими работами здесь

Составить строку из первых букв слов входящих в исходное предложение.
Дано произвольное предложение, слова в предложении разделены пробелами, после последнего точка....

Зашифровать предложение
Зашифровать предложение, записывая каждый его символ в виде четырехзначного числа, первые ...

дана строка-предложение. зашифровать ее
Доброго времени суток! Помогите, пожалуйста. Дана строка-предложение. зашифровать ее, поместив...

дана строка-предложение. зашифровать ее
очень прошу помочь составить программу, условие таково: дана строка-предложение. зашифровать ее,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru