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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с строками http://www.cyberforum.ru/cpp-beginners/thread1756009.html
С клавиатуры вводится строка. Разработать программу, которая реализует указанные действия. а) замінює всі великі літери, що входять до тексту на відповідні малі; б) виводить на екран найдовше слово; в) видаляє всі слова, що містять непарну кількість приголосних літер. знаю только б), но а) и в) не понимаю как сделать... вот код на б) #include <stdio.h> #include <stdlib.h> #include...
C++ Битовые утечки при записи данных на диск Доброго дня форумчане! Сорри если оффтоп но... Пишу в консольке на C++ (MSVCE 2010) различные движки по расчетам и тут столкнулся с опасной проблемой. При записи на диск искажаются данные на один бит, где то один раз на 109 - 1011 данных. Бит просто "теряется" (был 1 стал 0 или наоборот) , соответственно данные уже не верны, что приводит к нулю все проделанную работу. Из исследованного: Бит... http://www.cyberforum.ru/cpp-beginners/thread1755991.html
Расчет значений функций C++
Создайте оконное приложение «Расчет значений функций» (задача 1) в соответствии с вариантом. В программе должен быть реализован расчет значений двух выражений (z1 и z2) для одного и того же значения аргумента α (или a) или двух аргументов α и β (или a и b). Результаты вычислений должны совпадать. В приложении необходимо организовать графический интерфейс в соответствии с рисунком ниже. Значение...
Расчет функции заданной через ряда Тейлора C++
Создайте оконное приложение «Вычисление суммы ряда» (задача 2) в соответствии с вариантом. В программе должен быть реализован расчет функции, заданной с помощью ряда Тейлора, для определенного аргумента x и точности ε. В приложении необходимо организовать графический интерфейс, аналогичный интерфейсу приложения из п. 7 Значение аргумента x и точности ε должно вводятся с клавиатуры. На форме...
C++ Сгенерировать все пилообразные кортежи длины К над алфавитом {0,1} http://www.cyberforum.ru/cpp-beginners/thread1755976.html
Пилообразный кортеж - кортеж в котором a<=a >= a, i = 1,k Вариант сгенерировать все последовательности из 0 и 1 и по ходу проверять их функцией на пилеобразность - слишком затратно Я придумал вербальный алгоритм : сгенерировать все последовательности для четных позиций a , а потом в зависимости от их значений ставить рядом подходящие значения(чтобы не нрушалось условие пилеобразности) - но я не...
C++ При выводе динамической матрицы выводятся непонятные цифры данная программа считает суммы строк двумерного массива. но при выводе массива, который хранит их выводятся непонятные цифры( как я понимая эт адреса памяти (7800263 7802374 107)) вместо сумм элементов. когда убираю динамич массивы то все начинает работать. В чем заключается проблема с динамич массивами???? ( уже протсо много раз сталкиваюсь с ней, каждый раз убираю их и все норм, вот решил... подробнее

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

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

06.06.2016, 15:08. Просмотров 119. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru