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

Некоторые неясности с задачей - C++

Восстановить пароль Регистрация
 
ALEXKIRNAS
10 / 10 / 2
Регистрация: 27.06.2013
Сообщений: 151
12.09.2013, 19:00     Некоторые неясности с задачей #1
Имеется задача: вырезано
Имеется ее решение:
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
#include <stdio.h>
#include <iostream>
 
int main ()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    char a[41], b[41], c[41];
    int t, u;
    std::cin >> a >> b;
    for(int i=1; 26-i; i++)
    {
        for(t=0; *(a+t); t++) *(c+t)=*(a+t);
        *(c+t)=0;
        for(t=0; *(c+t); t++)
        {
            u=*(c+t)+i+1;
            if(u>90) u-=26;
            *(c+t)=u;
        }
        for(t=0; *(c+t); t++)
        {
            if(*(c+t)==*b)
            {
                for(u=1, t++; *(b+u); u++){ 
                    if(*(c+t++)!=*(b+u)) break;}
                if(!(*(b+u++))) goto A;
                else t-=u;
            }
        }
    }
    std::cout << "IMPOSSIBLE";
    return 0;
A:
    for(t=0; *(c+t); t++) std::cout << *(c+t);
}
Помогите найти ошибку и/или предложите свой метод решения.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2013, 19:00     Некоторые неясности с задачей
Посмотрите здесь:

C++ помогите с задачей
Подсчёт выражения. Разработка программы и неясности с функцией pow C++
C++ помогите с задачей
Помогите с задачей! C++
C++ Помогите с задачей на С++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
eXtream
24 / 24 / 0
Регистрация: 10.03.2010
Сообщений: 161
12.09.2013, 19:14     Некоторые неясности с задачей #2
А цель этих вычислений? И зачем мудрить такими записями типа *(c+t) если можно просто с[t] так гараздо нагляднее
ALEXKIRNAS
10 / 10 / 2
Регистрация: 27.06.2013
Сообщений: 151
12.09.2013, 19:48  [ТС]     Некоторые неясности с задачей #3
Цитата Сообщение от eXtream Посмотреть сообщение
А цель этих вычислений? И зачем мудрить такими записями типа *(c+t)
*(с+t) исполняется быстрее чем c[t].
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
12.09.2013, 19:49     Некоторые неясности с задачей #4
Цитата Сообщение от ALEXKIRNAS Посмотреть сообщение
*(с+t) исполняется быстрее чем c[t].
Нет
eXtream
24 / 24 / 0
Регистрация: 10.03.2010
Сообщений: 161
12.09.2013, 19:52     Некоторые неясности с задачей #5
Транслятор всё равно преобразует эти две записи в форму база:смещение и выполняться они будут за одинаковое количество тактов
ALEXKIRNAS
10 / 10 / 2
Регистрация: 27.06.2013
Сообщений: 151
13.09.2013, 16:36  [ТС]     Некоторые неясности с задачей #6
Цитата Сообщение от eXtream Посмотреть сообщение
Транслятор всё равно преобразует эти две записи в форму база:смещение и выполняться они будут за одинаковое количество тактов
Ну будь так!!!!
Кто небуть подскажет что делать с задачей

Добавлено через 2 часа 31 минуту
Есть ли кто на сайте?!?!?!?!?!?

Добавлено через 17 часов 42 минуты
Услоие задачи
Шифровка
Разведкой был перехвачен ряд шифровок, которые передавал Джеймс Бонд. Известно, что каждое послание зашифровано методом циклического сдвига. Суть которого в том, что каждая буква заменяется на букву, отстоящую в алфавите от первой на определенном расстоянии. Это расстояние называется знаменателем шифра. Так, при знаменателе шифра 2 буква D превратится в F, буква Q – в S, а Z – в B. Известно, что Бонд использует знаменатели от 0 до 25, и составляет послания исключительно из заглавных букв английского алфавита. Знаменатели в шифровках постоянно меняются, так что расшифровать содержимое послания будет не просто. После тщательного анализа удалось примерно определить предмет посланий. Теперь для каждого послания точно известно одно из входящих туда слов.

Входные данные

В первой строке входного файла INPUT.TXT содержится строка с перехваченным посланием, а во второй строке – слово, которое обязательно присутствует в этом послании. Обе строки состоят только из заглавных английских букв и содержат не больше 40 символов.

Выходные данные

В выходной файл OUTPUT.TXT выведите расшифрованный текст, либо сообщение «IMPOSSIBLE», если разгадать шифровку невозможно. В тех случаях, когда расшифровка возможна с различными знаменателями, то следует вывести вариант с наименьшим таким значением.
Yandex
Объявления
13.09.2013, 16:36     Некоторые неясности с задачей
Ответ Создать тему
Опции темы

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