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

Не получается сделать таблицу замены - C++

Восстановить пароль Регистрация
 
Delitr
0 / 0 / 0
Регистрация: 04.09.2015
Сообщений: 18
03.10.2015, 09:43     Не получается сделать таблицу замены #1
Добрый день. Есть программа, которая получается на вход 2 текста, один в открытом виде, другой-зашифрованный. Программа считает кол-во символов в каждом тексте и после каждого из текстов выводит таблицу, относительно английского алфавита, сколько каких букв ест в тексте(в % соотношении ко всему тексту) Таких таблиц, следовательно 2, потом обе эти таблицы объединены,т.е. есть 2мерный массив, в котором в 1 строке написаны вер-ти появления букв 1 текста,а во 2ой строке-2ого. Так вот в чем проблема: есть 2мерный массив, где у него в 1 и 2 строке просто записан алфавит
C++
1
2
char lab4[2][26]={{'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'},
                      {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}};
Так вот необходимо относительно массива,о чем говорилось выше, с вер-ми 2 текстов( FINALtable[2][26]) ) отфильтровать массив lab4[2][26] , так, чтобы элементы 2 строк были соотнесены друг другу, как ближайшие вер-ти массива FINALtable[2][26], т.е.
если в массиве FINALtable[2][26] элементы FINALtable[0][12]==0.013 FINALtable[1][17]==0.015 (относительно всех элементов массива у этих 2х элементов самая меньшая разница в вероятностях. то необходимо чтобы в массиве lab4 в 1 строке под элементом с индексом 11(12 по порядку)=='L' был соотнесен во 2строке элемент, который был на 16 позиции 2 строки, т.е. 'P'. Я пытался, вот чт оу меня получилось, но результат неверный(

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
for(i=0;i<26;i++)
   { 
       for(j=0;j<26;j++)
       {
           if (i!=0)
           {
               if (FINALtable[0][i-1]!=10.1)
                   i-=1;
           } 
            
           shag+=0.001;
          if((FINALtable[0][i]>=FINALtable[1][j]-shag)&&(FINALtable[0][i]<=FINALtable[1][j]+shag))   
           {  
               FINALtable[0][i]=10.1;
               FINALtable[1][j]=10;
               zamena=lab4[1][i];
               lab4[1][i]=lab4[1][j];
               lab4[1][j]=zamena;  
           }
            
       }
           
                
           
   }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2015, 09:43     Не получается сделать таблицу замены
Посмотрите здесь:

C++ не получается сделать задание с оператором ->
Не получается сделать 3 класса шаблонными. C++
Все не получается сделать C++
Нужно сделать таймер но не получается C++
C++ Не получается сделать задачу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4260 / 3691 / 1243
Регистрация: 14.04.2014
Сообщений: 14,465
03.10.2015, 11:45     Не получается сделать таблицу замены #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for (int i = 0; i < 26; ++i)
{
    double m = 1.0;
    int ii, jj;
 
    for (int j = 0; j < 26; ++j)
    {
        if (fabs(FINALtable[0][i] - FINALtable[1][j]) < m)
        {
            m = fabs(FINALtable[0][i] - FINALtable[1][j]);
            ii = i;
            jj = j;
        }
    }
 
    lab4[1][ii] = lab4[0][jj];
}
Delitr
0 / 0 / 0
Регистрация: 04.09.2015
Сообщений: 18
03.10.2015, 12:05  [ТС]     Не получается сделать таблицу замены #3
Спасибо,заменил кусок, который кидал выше на ваш, но почему-то выдает много ошибок с текстом
warning C4258: i: определение из цикла for игнорируется; используется определение из внешней области видимости
nmcf
4260 / 3691 / 1243
Регистрация: 14.04.2014
Сообщений: 14,465
03.10.2015, 13:11     Не получается сделать таблицу замены #4
Убери объявление i, где оно там есть. Только в циклах пусть останется.
Yandex
Объявления
03.10.2015, 13:11     Не получается сделать таблицу замены
Ответ Создать тему
Опции темы

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