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

Low-skill-шифрование - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с строками http://www.cyberforum.ru/cpp-beginners/thread1756009.html
С клавиатуры вводится строка. Разработать программу, которая реализует указанные действия. а) замінює всі великі літери, що входять до тексту на відповідні малі; б) виводить на екран найдовше...
C++ Расчет значений функций Создайте оконное приложение «Расчет значений функций» (задача 1) в соответствии с вариантом. В программе должен быть реализован расчет значений двух выражений (z1 и z2) для одного и того же значения... http://www.cyberforum.ru/cpp-beginners/thread1755989.html
Расчет функции заданной через ряда Тейлора C++
Создайте оконное приложение «Вычисление суммы ряда» (задача 2) в соответствии с вариантом. В программе должен быть реализован расчет функции, заданной с помощью ряда Тейлора, для определенного...
C++ Сгенерировать все пилообразные кортежи длины К над алфавитом {0,1}
Пилообразный кортеж - кортеж в котором a<=a >= a, i = 1,k Вариант сгенерировать все последовательности из 0 и 1 и по ходу проверять их функцией на пилеобразность - слишком затратно Я придумал...
C++ При выводе динамической матрицы выводятся непонятные цифры http://www.cyberforum.ru/cpp-beginners/thread1755963.html
данная программа считает суммы строк двумерного массива. но при выводе массива, который хранит их выводятся непонятные цифры( как я понимая эт адреса памяти (7800263 7802374 107)) вместо сумм...
C++ Задача с циклами while и do while Напишите программу с помощью цикла while и do while, которая выводит числа от заданного до заданного, но только в том случае, если они делятся на первое заданное, а второе заданное делится на текущее... подробнее

Показать сообщение отдельно
Ivakun
0 / 0 / 0
Регистрация: 20.04.2016
Сообщений: 2

Low-skill-шифрование - C++

06.06.2016, 15:08. Просмотров 135. Ответов 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
37
38
39
40
41
42
43
44
45
#include<iostream>
using namespace std;
int main()
{
    const int max=80;
    char str[max];
    char odd[max/2],even[max/2];
    cout<<"Enter string: ";
    cin.get(str,max);
    int k=strlen(str);
    for(int i=0,j=0,k=0; i<strlen(str); i=i++)                    //запоминание символов на четных и нечетных позициях
        {
            if(i>=strlen(str)-2)
            {
                if(i%2) 
                    {
                        even[j++]=str[i];
                        even[j++]='\0';                            //заканчиваем строку четных, если добавляется последнее четное
                }
                else 
                    {
                        odd[k++]=str[i];
                        odd[k++]='\0';                            //заканчиваем строку нечетных, если добавляется последнее нечетное
                }
            }
            else
            {
                if(i%2) even[j++]=str[i];
                else odd[k++]=str[i];
            }
    }
    for(int i=0,k=strlen(odd)-1; i<strlen(odd)/2+strlen(odd)%2; i++,k--)    //меняем порядок нечетных элементов
        {
            char temp=odd[i];
            odd[i]=odd[k];
            odd[k]=temp;
    }
    for(int i=0; i<strlen(str)/2; i++)                                      //переписываем 1-ю часть строки в четные элементы
        str[i]=even[i];
    for(int i=strlen(str)/2,j=0; i<strlen(str); i++,j++)                    //переписываем 2-ю часть строки в нечетные элементы в уже отсортированном порядке
        str[i]=odd[j];
    cout<<"New string: "<<str<<endl;
    system("pause");
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru