zheny4ka
|
|
1 | |
Допишите прогу пожж31.03.2011, 17:05. Показов 818. Ответов 0
Метки нет Все метки)
(
#include <iostream.h>
#include <conio.h> #include <string.h> #include <stdio.h> //funkcia podscheta dlinni massiva unsigned int Lenght (const char s[]) { int L=0; while(s[L++]); return (L-1); } FILE *p,*o,*l; char abc[]="abcdefghijklmnopqrstuvwxyz"; char key[]="key"; char word[100]; int t,m; int k=0;//index kolichestva bykv v key int w=0;//index kolichestva bykv v word //dly hraneniya kodov bykv s massiva key unsigned int key_num[10]={0}; //dly hraneniya kodov bykv s massiva word int word_num[10]={0}; //dly hraneniya kodov bykv polychennogo zashifrovannogo slova int word_num_new[10]={0}; int i; void Zapus () { p = fopen ("c:\\text.txt","rw"); o = fopen ("c:\\Shufr.txt","wt"); for ( i=0 ; i<100; i++) { fscanf (p,"%s",word); cout << word[0]; } clrscr(); //perevodim slovo i klych v chislovie ekvivalenti while(k<=Lenght(key))//poka ne konchitsya massiv key { for( i=0;i<26;i++) { //zanosim v key_num chislovoy kod bykvi if(key[k]==abc[i])key_num[k]=i; } k++; } while(w<=Lenght(word))//poka ne konchitsya massiv word { for( i=0;i<25;i++) { //zanosim v word_num chislovoy kod bykvi if(word[w]==abc[i])word_num[w]=i; } w++; } w=0;k=0; while(w<Lenght(word))//poka ne konchitsya massiv word { //dobavlyaem v word_num_new symmy chisel ot word i key word_num_new[w]=key_num[k]+word_num[w]; //realizyem ciklicnost dlya shifrovaniya if(word_num_new[w]>26)word_num_new[w]-=26; w++;k++; if(k>=Lenght(key))k=0; } //vivod polychennih dannih s perevodom chisel snova v bykvi w=0; char sh[100]; while(w<Lenght(word))//poka ne konchitsya massiv word { //vivod po indeksy massiva abc sh[w]=abc[word_num_new[w]]; w++; } fprintf (o,"%s",&sh); fclose (p); fclose (o); cout << "Slovo shufrovano v C:\\SHUFR.TXT"; getch (); clrscr (); } //—————————————————————— //deshifryem slovo void Deshefr () { clrscr (); o = fopen ("c:\\shufr.txt","wt"); l = fopen ("c:\\doshufr.txt","wt"); w=0;k=0; cout<<endl; while(w<Lenght(word))//poka ne konchitsya massiv word { t=word_num_new[w]; m=key_num[k]; t-=m; //vichitaem kody klycha iz kodov shifrovannogo soobsheniya po modyly 26 (kolichestvo bykv v alfavite) if(t<0)word_num_new[w]+=26-key_num[k]; else word_num_new[w]-=key_num[k]; w++; k++; if(k>=Lenght(key))k=0; } //vivod deshifrovannogo soobsheniya w=0; char dosh [100]; for (i=0;i<99;i++) dosh [i]=0; while(w<Lenght(word))//poka ne konchitsya massiv word { //vivod po indeksy massiva abc dosh [w] = abc[word_num_new[w]]; w++; } fprintf (l,"%s",&dosh); fclose (o); fclose (l); cout << "Slovo doshufrovano v C:\\DOSHUFR.TXT"; getch (); clrscr (); } void main() { clrscr (); char n; int o=0; while (o!=5) { cout << " \n 1 Shufrovanie Veginerom \n 2 Deshifrator \n 3 Exit"; n=getch (); switch (n) { case '1' :Zapus (); break; case '2' ![]() case '3' :o=5; break; }} } Добавлено через 1 минуту ну тут какбы прога шифровки данных... но нада чтоб оно еше и по електронной почте отправляло..
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь |
|
31.03.2011, 17:05 | |
Ответы с готовыми решениями:
0
Допишите прогу Допишите код Допишите программу Допишите программу |
31.03.2011, 17:05 | |
Помогаю со студенческими работами здесь
1
ДОПИШИТЕ КОД ) Допишите программу Допишите программу Допишите программу на матрицу Пожалуйста допишите программу Кому не трудно допишите пожалуйста комментарии! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |