21:13

C++

Тролько
Здравствуйте. Написати программу-шифровальщик. Нужен ввод рядка та ключевого слова. Программа должна реализировать алгоритм: к каждому значению символа рядка прибавлять значение соответствующего символа ключового слова. к следующему символу делать те же действия но с значением следующего символа ключового слова. пример (ключевое слово «abc»):ABC DEF GHK LMN OPEL АFM BGN CHO DKP

(строка разбита на 5 колонок...)

Код



# include <stdio.h>

# include <stdlib.h>

# include <strings.h>

char in[100], out[100], key[6]; // веделяется 'in' введеный масив и 'out' шифрованый

int main (void)

{

puts("Input string:"); // вывод "Введите рядок"

gets(in); //получить масив символов (клавиатура)

puts("Input keyword:"); // вывод "Введите кл. слово"

gets(key); //получить масив символов (клавиатура)

int i = 4;

int n = strlen(in); // длина масива символов (cтроки)

int m=strlen(key);

for (int pos = 0; pos < n; pos++)

{

while (i >= n)

{

i = i - n;

}

out[pos] = in[i];

i = i + 5;

}

puts(out);



return 0;

}





как написать, цыкл for , чтобы символы введеного кл. слова вставлялись поочередно в каждую колонку...( длина строки неизвестна...)

Комментарии
18.09.2006 в 02:13

Замысел мой заключается в том, что для вас я - именно тот, за кого вы меня принимаете. Именно тот. Но только для вас.
считай длинну этого слова...

у тебя получится что-нить типа

while(in[i]!='\0')

{

in[i] = itoa(atoi(in[i])+atoi(key[j])); /*синтаксис itoa посмотри точнее - я не помню параметров */

if(j==/*длинна ключа*/)

j=0;

i++;

}

что-то в таком духе... если я правильно вопрос понял...
19.09.2006 в 23:45

сЧастливый Идиот
это не шифрование =)) а так баловство. расшифровать такую фигню не очень сложно. но все-таки скрыть инфу от ленивых глаз можно.



int m=strlen(key);

int i=0;



while(in[i]!='\0') {

out[i]=in[i]+key[i++%m];

}



% - деление по модулю. очень удобно. возвращает остаток от деления i на m.

зачем itoa atoi, нам нужно просто складывать чары.
20.09.2006 в 01:30

Замысел мой заключается в том, что для вас я - именно тот, за кого вы меня принимаете. Именно тот. Но только для вас.
inuwashi хм... ну да... тормозю... все мысли о линухах...