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

Шифрование «методом бутерброда» - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Календарь http://www.cyberforum.ru/cpp-beginners/thread382804.html
В календаре древнего племени Яйам «счастливыми» считаются такие номера годов, в записи которых встречаются только цифры 0 или 5. Необходимо для заданного целого неотрицательного числа k определить k-й номер «счастливого» года. Летоисчисление в календаре Яйам начинается с 1. Формат входных данных (input.txt) Во входном потоке содержится единственное число k (0 < k <= 100000). Формат...
C++ апроблемы с заполнением массива помогите! задача была с использованием функции: "Удвоение значений тех элементов матрицы, у которых сумма номеров строки и столбца четная.". вобщем не знаю как заполнить массив в данном случае: #include <stdio.h> #include <iostream.h> #include <conio.h> void array(int ** Arr, int a, int b) { for (int i=0; i<a; i++) http://www.cyberforum.ru/cpp-beginners/thread382799.html
C++ Программа угадывания случайно выбранных координат цели
Составьте диалоговую программу угадывания случайно выбранных координат цели в квадрате: по оси х от 3 до 7, по оси у от -4 до 2 с пяти попыток с сообщением корректировщика, например: уменьшить Х, увеличить Y.
сумма ряда C++
#include<vcl.h> #include<iostream.h> #include<conio.h> #include<math.h> #pragma hdrstop --------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv)
C++ Поменять местами строки, содержащие минимальный и максимальный элементы матрицы. http://www.cyberforum.ru/cpp-beginners/thread382782.html
#include <stdio.h> #include <stdlib.h> void main () { int i, j, m, n, v, minj=0,maxj=0,t ; printf ("Vvedite razmer matritci "); scanf ("%i %i", &n, &m); int a, max, min; printf ("Kak vvodit' elementi?\n0 - random\n1 - s klaviaturi\n"); scanf ("%i", &v);
C++ класы и потоки Всем доброго времени суток! Хочу спросить : есть класс с 2 методами, можно ли в этом из этих методов запустить второй в отдельном потоке ? подробнее

Показать сообщение отдельно
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.11.2011, 16:06     Шифрование «методом бутерброда»
шифрует, дешифрует, файловый ввод/вывод сделаете сами:
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <stdio.h>
#include <string.h>
 
#define BUF_SIZE  100
 
char *encode(char *dst, char *src);
char *decode(char *dst, char *src);
char *rmnl(char *s); 
 
int main()
{
    char in[BUF_SIZE], out[BUF_SIZE + 1];
    int c;
    
    while (printf("\nenter a line:\n") > 0
        && fgets(in, BUF_SIZE, stdin) && *in != '\n') {
        rmnl(in);
        printf("e - encode\n" "d - decode\n" "action: ");
        if ((c = getchar()) == 'e')
            encode(out, in);
        else if (c == 'd')
            decode(out, in);
        else
            break;
        printf("\n%s\n", out);
        getchar();
    }
    return 0;
}
 
char *encode(char *dst, char *src)
{
    char *beg = dst;
    char *p = src;
    char *t = src + strlen(src) - 1;
 
    for ( ; p <= t; p++, t--) {
        *dst++ = *p;
        if (p < t)
            *dst++ = *t;
    }
    *dst++ = '#';
    *dst   = '\0';
    return beg;
}
 
char *decode(char *dst, char *src)
{
    char *p = dst;
    char *t = dst + strlen(src) - 1;
 
    *t-- = '\0';  /* skip a '#' */
    while (*src && *src != '#') {
        *p++ = *src++;
        if (*src && *src != '#')
            *t-- = *src++;
    }
    return dst;
}
 
/* rmnl: remove a newline */
char *rmnl(char *s)
{
    char *p = s + strlen(s) - 1;
 
    if (*p == '\n')
        *p = '\0';
    return s;
}
 
Текущее время: 23:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru