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

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

Войти
Регистрация
Восстановить пароль
 
Uki
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 5
#1

Алгоритм заполнения алфавита - C++

28.09.2011, 17:17. Просмотров 663. Ответов 5
Метки нет (Все метки)

В общем, сказали зашифровать свою фамилию квадратом Полибия.
Сделал матрицу - но мне нужно, чтобы вместо единиц были буквы в алфавитном порядке. Как этом можно реализовать? Подскажите пожалуйста.

Вот мой "гениальный код"
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
51
52
int _tmain(int argc, _TCHAR* argv[])
{
       int** M; // указатель указателя
 //      int n; // количество строк
         int n=5; // количество строк
 
 //      cout<<"Size="; cin>>n; // ввод размера матрицы
       if(n<4) cout<<"n is too small"<<endl; // если меньше 4, то выход.
//
       M=new int*[n]; // создание массива указателей
      
       
       for(int i=0; i<n; i++) // цикл создания матрицы nxn в памяти, и заполнение ячеек нулевыми значениями
       {
               M[i]=new int[n];
               for(int j=0; j<n; j++)
               {
                    M[i][j]=0;
               }
       }
        for (int i=1; i<n; i++)
        {
            M[i][0]=i;
            M[0][i] =i;
        }
        for (int i=1; i<n; i++)
        {
            for (int j=1; j<n; j++)
            {
                M[i][j]=1;
            }
            
        }
      
 
       for(int i=0; i<n; i++) // вывод матрицы на экран
       {
               for(int j=0; j<n; j++)
               {
                       cout<<M[i][j]<<" ";
               }
               cout<<endl;
       }
       cin.get();
       cin.get();
 
       for(int i=0; i<n; i++)
              delete [] M[i]; // очистка памяти
       delete [] M;
 
       return 0;
}
+еще, если можете, то подскажите как вместо десятичных цифр в "адресах" букв использовать двоичные. Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2011, 17:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Алгоритм заполнения алфавита (C++):

Подскажите алгоритм заполнения матрицы по спирали - C++
нужно сделать так чтобы получалась вот такая матрица 2х2 1 2 4 3 3х3

Алгоритм построчного заполнения многоугольника с использованием затравочного пикселя - C++
почему у меня не работает программа? #include #pragma hdrstop #include &quot;windows.h&quot; #include &quot;Unit1.h&quot; ...

Составить алгоритм, подсчитывающий для заданного текста количество вхождений каждой буквы русского алфавита - C++
Составить алгоритм, подсчитывающий для заданного текста количество вхождений каждой буквы русского алфавита. Help. На языке СИ,...

Написать программу заполнения двумерного массива A по схеме, результаты заполнения выдать на экран и в файл - C++
помогите, пожалуйста, написать программу заполнения двумерного массива A по схеме. Результаты заполнения выдать на экран и в файл. ...

Нужен алгоритм поиска пути в этом лабиринте (будь то волновой алгоритм или алгоритм правой/левой руки ) - 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 =...

Волновой алгоритм поиска (Алгоритм A* / Алгоритм А стар) - C++
Хочу разработать алгоритм для решения головоломки с подвижными дисками (перестановочная головоломка). Определение. Перестано́вочные...

5
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.09.2011, 17:29 #2
Вместо всех единиц? или только в квадрате (1;1) to (n;n)?
И как считывать эти единицы будете, построчно?
Если я правильно понял, то вот массив 5*5 по вашей задаче
Код
0 1 2 3 4 
1 1 1 1 1 
2 1 1 1 1
3 1 1 1 1 
4 1 1 1 1
и вы хотите получить
Код
0 1 2 3 4
1 a b c d
2 e f g h
3 i j k l 
4 m n o p
так?
0
Uki
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 5
28.09.2011, 17:32  [ТС] #3
Квадрат единиц, с (1,1) по (n,n).
Считываются по системе квадрата полибия, т.е. по x,y )
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.09.2011, 17:37 #4
Может есть смысл объявить не массив int а массив char?
И тогда, вместо строк 27 - 34 что-то вроде
C++
1
2
3
4
char symbol = 'A'; 
for (int i = 1; i < n; i++)
    for (int j = 1; j < n; j++)
        M[i][j] = symbol++;
upd1 Но тут не учитывается слияние I и J. Можно добавить условие на это.
0
Uki
0 / 0 / 0
Регистрация: 25.09.2011
Сообщений: 5
28.09.2011, 19:20  [ТС] #5
Просто мне надо как то сделать подмассив буквенный или что то в это роде....

Добавлено через 1 час 22 минуты
Ну тут проблема в том, что массив - то числовой, и символы не будут отображаться буквами...
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
28.09.2011, 19:26 #6
Вам обязательно использовать числовой массив что-ли? Судя по алгоритму шифрования, вся шифровка сводится к тому, чтобы сместить соответствующий символ на 5 позиций вперед(зависит от размеров таблицы) а если будет преполнение алфавита, то на 20 назад(могу ошибиться, но вроде так) + учесть буквы I и J.
Ув. Знатоки, внимание: вопрос. Зачем использовать числовой массив?
0
28.09.2011, 19:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2011, 19:26
Привет! Вот еще темы с ответами:

цикл алфавита - C++
1. Вывести в одну строчку zyyxxx и тогдалее до 26 штук а 2. Создайте программу, которая вводит с клавиатуры текст. Слова могут...

Подсчет частоты алфавита - C++
Доброго времени суток. Как посчитать в тексте из файла частоту алфавита(сколько раз каждый символ встречается в приведенном тексте)? Я...

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

Вывод на экран алфавита - C++
Помогите пожалуйста написать программу, в которой требуется вывести на экран все малые буквы латинского алфавита и их коды.


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

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

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