Зашифровать строку заменой исходных символов на символы с кодом, большим на три единицы - C (СИ)
Формулировка задачи:
Помогите пожалуйста перевести программу из Pascal в Си
Вот сама задача: Зашифровать введенную с клавиатуры строку заменой исходных символов на символы с кодом, большим на три единицы. Провести дешифровку.
А это программа в Pascal:
const
n=3;
var
i, len : integer;
s: string;
begin
readln(s);
len := length(s);
for i:=1 to len do
s[i] := chr(ord(s[i])+n);
writeln('Зашифрованная строка ', s);
for i:=1 to len do
s[i] := chr(ord(s[i])-n);
writeln('Исходная строка ', s);
end.Решение задачи: «Зашифровать строку заменой исходных символов на символы с кодом, большим на три единицы»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main(){
system("chcp 1251");
system("cls");
int n=3;
int i;
char s[61];
gets(s);
???
for (i=0; i<???; i++)
???
printf("Зашифрованная строка: %s", s);
for (i=0; i<??; i++)
???
printf("Исходная строка: %s", s);
}
Объяснение кода листинга программы
В этом коде выполняется замена каждого символа строки на символ с кодом, большим на три единицы. Затем выводится как зашифрованная строка, так и исходная строка.
- Включаются необходимые заголовочные файлы
- Запускается программа
- Устанавливается кодировка консоли на 1251
- Очищается консоль
- Присваивается значение переменной n равное 3
- Присваивается значение переменной i равное 0
- Выделяется память под строку s
- Вводится строка s с помощью функции gets
- Неизвестная операция (предположительно здесь происходит замена символов)
- Начало цикла for, который выполняется до тех пор, пока i меньше неизвестного значения (предположительно, длины строки)
- Неизвестная операция (предположительно здесь выводится зашифрованная строка)
- Конец цикла for
- Начало цикла for, который выполняется до тех пор, пока i меньше неизвестного значения (предположительно, длины строки)
- Неизвестная операция (предположительно здесь выводится исходная строка)
- Конец цикла for
- Выводится зашифрованная строка
- Выводится исходная строка
- Программа завершается