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

задача C4 по информатике - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
NeRRouZ
 Аватар для NeRRouZ
4 / 4 / 0
Регистрация: 19.12.2010
Сообщений: 54
24.12.2011, 18:50     задача C4 по информатике #1
Было решено закодировать файлы.Для этого придумали следующий алгоритмю
Каждая строка файла кодируется отдельною
В каждой строке ищутся отдельные слова, и все символы слова сдвигаються по алфавиту циклически вправо на длину слова.
Словом считается любая последовательность подряд идущих символов латинского алфавита, строчных и прописных.
Циклический сдвиг символа по алфавиту вправо на Х - замена символа на символ, стоящий в алфавите на Х позиций дальше.Если при этом происходит выход за пределы алфавита, счет начинается с начала алфавита. Пример циклического сдвига символов на 3 позиции: буква "Е" превращается в букву "Н",буква"t" -в букву "w",буква "Y" - в букву "В".
Напишите эффективную в том числе и по используемой памяти программу которая должна закодировать строку по указанному алгоритму.
На вход подается строка, состоящая из не более чем 250 символов латинского алфавита,пробелов,знаков препинания разного рода скобок,кавычек и других символов. Строка заканчивается символом "#".Других символов "#" в строке нет.
Программа должна вывести закодированную по указанному алгоритму строку.
Пример входных данных:
Day, mice. "Year" - a mistake#
Пример выходных данных:
Gdb, qmgi. "Ciev" - b tpzahrl#

Как это сделать?? мыслей по самому алгоритму практически нет подскажите.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 18:50     задача C4 по информатике
Посмотрите здесь:

Задание по информатике. C++
3адачи по информатике C++
Курсовая по информатике на С++ C++
C++ лабораторная по информатике
C++ лабораторная по информатике
Олимпиада по информатике C++
Задача по информатике C++
РГР по информатике C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Persk
Модератор
 Аватар для Persk
7312 / 3042 / 176
Регистрация: 25.10.2010
Сообщений: 12,240
24.12.2011, 20:31     задача C4 по информатике #2
Очень смахивает на алгоритм шифра Цезаря
У меня есть кое что подобное, ну может не совсем
Исходник сыроват, т.е. не до конца обработан, если поможет, то подредактируйте сами
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
/*Программа шифрования кодом Цезаря*/
#include <stdio.h>//необходимо для printf
#include <conio.h>//необходимо для getch
#include <string.h>//необходимо для puts
int main()
{
/*инициализируем переменные*/
int i=0, n=0, k;
int d;
char alf[] = "abcedfghijklmnopqrstuvwxyz0123456789#!@$%^&*-+=";//словарь
char buf[10];//массив для ввода сообщения
char decod[10];//массив для ввода сообщения
/*Процедура шифрования ввод*/
printf("\n***Shifrovanie***");
printf("\nVvedite slovo ili tsifrj :");
scanf("%s",&buf);//ввод слова или цифр
printf("\nVvedite tzifrovoj cluch, (shag ot 1 do 10):  ");
scanf("%i",&k);//вводим ключ
for (n=0; n < 10; n++)
{
for (i = 0; i < 47; i++)
{
if (buf[n] == alf[i])
{
if (i >= 47)
buf[n] = alf[i-47];
else
buf[n] = alf[i+k];//сдвигаем вправо на показания шага ключа
break;//принудительно выходим из цикла
}
}
}
printf("\nVash shefr= %s\n", buf);//выводим полученный шифр
/*Процедура дешифрования ввод*/
printf("\n--Deshifrovanie---\n");
printf("\nVvedite vash shifr : ");
scanf("%s",&decod);//вводим шифр
printf("\nVvedite tzifrovoj cluch, (shag ot 1 do 10): ");
scanf("%i",&d);//вводим ключ
for (n=0; n < 10; n++)
{
for (i = 0; i < 47; i++)
{
if (decod[n] == alf[i])
{
if (i >= 47)
decod[n] = alf[i-47];
else
decod[n] = alf[i-d];//сдвигаем влево на показания шага ключа
break;//принудительно выходим из цикла
}
}
}
printf("\nShefr= ");
puts (decod);//выводим код
getch();//задержка программы
return 0;
}//конец
Yandex
Объявления
24.12.2011, 20:31     задача C4 по информатике
Ответ Создать тему
Опции темы

Текущее время: 12:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru