Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 374
#1

Алгоритм кодирования имен цифрами - C++

11.12.2015, 08:29. Просмотров 196. Ответов 3
Метки нет (Все метки)

Решил написать код для задачки из 3 класса на решение алгоритма. Но запутался в конце кода с 0 . Как сделать ,чтобы не было пробела в слове -al ksandr-. Это зашифрованное в цифрах имя писателя. Что я сделал не так?
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
#include <iostream>  // для оператора cout
#include <cmath>     //для математич. вычислений
using namespace std;
int cript(int);
int a[10]={0,5,7,9,10,12,14,16,20,38};
const char xbuk[10]={'e','l','i','n','a','r','d','m','s','k'};
int s[19]={3,10,3,18,0,3,10,0,171,63,3,18,27,15,0,39,14,10,18};
int main(){
    int x[19];
    int j;
    cout<<"получим значения   x=";
    for (int i=0;i<10;i++){
    
         x[i]=(a[i]*6);
        if(x[i]<60) x[i]=x[i]/3;
        else
        x[i]=x[i]-57;
        cout<<x[i]<<",";
    }
    cout<<endl;
    cout<<"заданным числам:3,10,3,18, ,3,10,0,171,63,3,18,27,15, ,39,14,10,18 \n";
    cout<<"соответствует фраза    :";
    for(int i=0;i<19;i++){ //перебираем массив s
    int n=s[i];//получим элемент этого массива
    if (n){   //это не 0
    for (j=0;j<10;j++)//ищу n в массиве x
    
    if (x[j]==n) break;//нашел, он по счету j-й
    cout<<xbuk[j];//вывел j-й из xbuk
}
else cout<< " ";//иначе печатаю пробел
}
cout <<endl;
}
Вот вывод программы

получим значения x=0,10,14,18,3,15,27,39,63,171,
заданным числам:3,10,3,18, ,3,10,0,171,63,3,18,27,15, ,39,14,10,18
соответствует фраза :alan al ksandr miln

Добавлено через 10 часов 58 минут
Как сделать ,чтобы 0 не выдавал пробел между символами?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2015, 08:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм кодирования имен цифрами (C++):

Реализовать алгоритм оптимального кодирования Хаффмана - C++
Добрый день! Нужно реализовать алгоритма Хаффмана. Помогите, пожалуйста.

Ребятушки, у кого-ниудь есть алгоритм кодирования и декодирования по Хаффману? - C++
декодирование у меня есть я как бы среднячок, но сама написать не осилю)

Найти ошибку в коде Алгоритм Плейфера (создания решетки кодирования) - C++
Задача: сделать двумерный массив в котором будет ключевое слово и алфавит с неповторяеммых символов. пробую реализовать алгоритм Плейфера...

Надо ускорить алгоритм вычисления чисел с не повторяющимися цифрами - C++
Помогите ускорить алгоритм. Надо определить все числа с не повторяющимися цифрами от 0 до 9876543210. У меня время просчета занимает очень...

Использование имен предопределенных объектов в качестве имен переменных - C++
Есть код: #include &lt;iostream&gt; using namespace std; void func() { int cout; cout &lt;&lt;cout &lt;&lt;endl; }

Не возникает ли коллизия имен, если использовать два пространства имен, и в каждом из них будут одноименные? - C++
Вот например namespace nms1 { int gh; } namespace nms2 { int gh;

3
Dimension
Dimension
557 / 438 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
11.12.2015, 09:59 #2
Цитата Сообщение от sergei60 Посмотреть сообщение
if (n){ * //это не 0
Цитата Сообщение от sergei60 Посмотреть сообщение
else cout<< " ";//иначе печатаю пробел
Цитата Сообщение от sergei60 Посмотреть сообщение
cout<<"заданным числам:3,10,3,18, ,3,10,0,171,63,3,18,27,15, ,39,14,10,18 \n";
самому ведь никак не разобраться в своей же программе?
0
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 374
11.12.2015, 19:35  [ТС] #3
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
#include <iostream>  // для оператора cout
#include <cmath>     //для математич. вычислений
using namespace std;
int cript(int);
int a[10]={0,5,7,9,10,12,14,16,20,38};
const char xbuk[10]={'E','L','I','N','A','R','D','M','S','K'};
int s[19]={3,10,3,18,99,3,10,0,171,63,3,18,27,15,99,39,14,10,18};
int main(){
    int x[19];
    int j;
    cout<<"получим значения   x=";
    for (int i=0;i<10;i++){
    
         x[i]=(a[i]*6);
        if(x[i]<60) x[i]=x[i]/3;
        else
        x[i]=x[i]-57;
        cout<<x[i]<<",";
    }
    cout<<endl;
    cout<<"заданным числам:3,10,3,18, ,3,10,0,171,63,3,18,27,15, ,39,14,10,18 \n";
    cout<<"соответствует фраза    : ";
    for(int i=0;i<19;i++){ //перебираем массив s
    int n=s[i];//получим элемент этого массива
    if (n!=99){   //если втречается число 99
    for (j=0;j<10;j++)//ищу n в массиве x
    
    if (x[j]==n) break;//нашел, он по счету j-й
    cout<<xbuk[j];//вывел j-й из xbuk
}
else cout<< " ";//иначе печатаю пробел
}
cout <<endl;
}
получим значения x=0,10,14,18,3,15,27,39,63,171,
заданным числам:3,10,3,18, ,3,10,0,171,63,3,18,27,15, ,39,14,10,18

соответствует фраза : ALAN ALEKSANDR MILN

с этим разобрался ,если бы еще можно было написать русскими буквами.....
0
Dimension
Dimension
557 / 438 / 135
Регистрация: 08.04.2014
Сообщений: 1,709
Завершенные тесты: 1
11.12.2015, 19:40 #4
если бы хватило ума воспользоваться поиском,то не ждали бы пока вам ответят
0
11.12.2015, 19:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2015, 19:40
Привет! Вот еще темы с ответами:

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void lab () { int s1 = 0; int s2 =...

Поцедура циклического кодирования - C++
Доброго дня! Помогите программно реализовать процедуру кодирования сообщения с использованием циклического кода, заданного порождающим...

Реализация арифметического кодирования - C++
Здравствуйте. Есть программа, которая производит арифметическое кодирование и декодирование. но во время компиляции в QT Creator говорит...

Программа кодирования и декодирования - C++
Написать программу кодирования и декодирования последовательности символов длины N. Алгоритм кодирования заключается в следующем. Строится...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru