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

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

Восстановить пароль Регистрация
 
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 334
11.12.2015, 08:29     Алгоритм кодирования имен цифрами #1
Решил написать код для задачки из 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 не выдавал пробел между символами?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dimension
Dimension
547 / 428 / 132
Регистрация: 08.04.2014
Сообщений: 1,693
Завершенные тесты: 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";
самому ведь никак не разобраться в своей же программе?
sergei60
47 / 28 / 4
Регистрация: 10.06.2012
Сообщений: 334
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

с этим разобрался ,если бы еще можно было написать русскими буквами.....
Dimension
Dimension
547 / 428 / 132
Регистрация: 08.04.2014
Сообщений: 1,693
Завершенные тесты: 1
11.12.2015, 19:40     Алгоритм кодирования имен цифрами #4
если бы хватило ума воспользоваться поиском,то не ждали бы пока вам ответят
Yandex
Объявления
11.12.2015, 19:40     Алгоритм кодирования имен цифрами
Ответ Создать тему
Опции темы

Текущее время: 10:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru