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

Шифратор текста, работа с файлами. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сложение матриц http://www.cyberforum.ru/cpp-beginners/thread37687.html
Помогите, пожалуйста. Даны две матрицы размером . Надо выполнить их сложение
C++ работа с файлами + небольшое шифрование Текст шифруется по следующему правилу: из исходного текста выбирается 1-й, 4-й, 7-й, 10-й и т. д. символы, затем 2-й, 5-й, 8, 11-й и т. д. символы, затем 3-й, 6-й, 9-й, 12-й и т. д. символы. Зашифровать за-данный текст, то есть на основании исходного текстового файла полу-чить новый файл по указанному выше правилу. Чем дальше, тем сложнее :( Помогите пожалуйста разобраться в ЭТОМ. Ну или... http://www.cyberforum.ru/cpp-beginners/thread37685.html
Создание и использование классов C++
Здравствуйте програмисты. Помогите пожалуйста. В лабораторке есть задание: Организовать класс треугольник, определенный по длинам трех сторонам содержащий конструктор, деструктор, функции нахождения периметра и площади (по формуле Герона). Продемонстрировать в программе работу всех функций. сам пока толком не разбираюсь... только начал програмировать... Спасибо заранее.
Метод ортогонализации Грама - Шмидта C++
Смысл задачи состоит в том что нужно систему линейных уровнений решить методом ортогонализации Грама - Щмидта. Дело в том что я знаю этот метод как нахождение базисов. А как этот метод применить к системе линейных уровнений и реализовать его на С++?
C++ Нахождение количества определенных элементов массива http://www.cyberforum.ru/cpp-beginners/thread37654.html
Приветствую всех кто решил зайти сюда... Необходимо определить количество элементов массива, которые удовлетворяют следующему условию: в строке слева от элемента находятся элементы меньшие его, а справа большие элементы. #include <iostream.h> #include <conio.h> #include <iomanip.h> void main() {
C++ COM-объект..клиент-сервер..shared memory передо мной поставлена задача: что то в таком стиле, весь текст не привожу... вопрос: где про приведенное ниже можно почитать? если кто писал подобное есть ли советы. сам с таким впервые сталкиваюсь Необходимо реализовать набор тестовых приложений реализующих следующий функционал: 1.Приложение, реализующее COM объект имеющий метод: - GetSharedMemoryName: widestring 2.... подробнее

Показать сообщение отдельно
Delphin_KKC
UNIX-way
709 / 494 / 17
Регистрация: 15.01.2009
Сообщений: 1,721
01.06.2009, 20:29     Шифратор текста, работа с файлами.
Правда, на Паскале. Нет времени переводить на Си. Программа шифрует и расшифровывает файлы.
Pascal
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
program cezar;
const
 CSize=1024;
 CExt = '.x';
var
 f,h:file;
 i,r,wr:longint;
 buf:array[1..CSize]of byte;
 s,d:string;
 x:byte;
 enc:boolean;
 
 function ChangeFileExt(oldname,newext:string):string;
 var
  i,n:integer;
  s:string;
 begin
 s:='';
 for i:=1 to length(newext) do
  if not (newext[i] in ['\','/',':','*','?','"','<','>','|']) then s:=s+newext[i];
 newext:=s;
 if newext[1]<>'.' then newext:='.'+newext;
 for i:=length(oldname) downto 1 do
  begin
  if oldname[i]='.' then
   begin
   n:=i-1;
   break;
   end else
    if oldname[i]='\' then
     begin
     n:=-1;
     break;
     end;
  end;
 if n > 0 then
  begin
  oldname:=copy(oldname,1,n);
  ChangeFileExt:=oldname+newext;
  end else
   begin
   if oldname[length(oldname)]='\' then
    begin
    writeln('I/O Error: this is no file!');
    ChangeFileExt:='';
    end else
     begin
     ChangeFileExt:=oldname+newext;
     end;
   end;
 end;
 
begin
writeln;
write('Input number from range 1..255: ');
readln(x);
writeln;
writeln('For encode file - type symbol "1" and press [Enter].');
writeln('For decode file - type symbol "2" and press [Enter].');
writeln('For exit - type other symbol and press [Enter].');
readln(d);
write('Input path to input file: ');
readln(s);
if d[1]='1' then
 begin
 //encode
 d:=ChangeFileExt(s,CExt);
 enc:=true;
 end else
  if d[1]='2' then
   begin
   //decode
   write('Input path to output file: ');
   readln(d);
   enc:=false;
   end else halt;
assign(f,s);
reset(f,1);
assign(h,d);
rewrite(h,1);
while not eof(f) do
 begin
 blockread(f,buf,CSize,r);
 for i:=1 to r do
  begin
  if enc then buf[i]:=buf[i] + x else buf[i]:=buf[i] - x;
  end;
 blockwrite(h,buf,r,wr);
 end;
close(f);
close(h);
writeln;
writeln('Press [Enter] for exit.');
readln;
end.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru