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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SKORPION13
7 / 7 / 0
Регистрация: 05.06.2011
Сообщений: 140
#1

подскажите как доделать программу - C++

09.06.2011, 21:51. Просмотров 403. Ответов 3
Метки нет (Все метки)

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
#include<iostream.h>
#include<conio.h>
#include<string.h>
using namespace std ;
 
 
 main()
{
int i=0,j=0;
string s1,s2;
char A,B ,C ,D ,E ,F ,G ,H ,I ,J ,K ,L ,M ,N ,O ,P ,Q ,R ,S ,T ,U ,V ,W ,X ,Y ,Z ;
 
cout << "vvedite text   \n";
 cin>>s1;
transform(s1.begin(), s1.end(), s1.begin(), ::toupper);
 
i=s1[0];
int len=s1.size() ;
cout <<"vvedite key \n";
 cin>>s2;
 
transform(s2.begin(), s2.end(), s2.begin(), ::toupper);
 
while(s2.size() < s1.size())
{               s2=s2+s2;                          }
 
cout << s2<<endl<<endl;
 
j=s2[0];
 
 
 
 for( int i=s1[0];i<len;i++)
 for( int j=s2[0];j<len;j++)
{
      if (s1[i]=='D' && s2[j]=='W' ) s1[i]='Y'; 
}
 for( int i=s1[0];i<len;i++)
 for( int j=s2[0];j<len;j++)
 {
      if (s1[i]=='Z' && s2[j]=='E' ) s1[i]='D';
}
cout<<"LLIac"<<endl<<endl<<s1<<endl<<endl;
 
getch();
}

суть программы проверять введенные текст с ключем и при определенных комбинациях букв будет выводить какуюто букву .Попытался создать Шифр Виженера

проблема такая как мне цикл впихнуть в отдельную вызываемую подпрограмму чтоб не прописывать такой цикл для каждого подобного IFа
C++
1
2
3
4
 for( int i=s1[0];i<len;i++)
 for( int j=s2[0];j<len;j++)
{
      if (s1[i]=='D' && s2[j]=='W' ) s1[i]='Y'; }
Добавлено через 3 часа 24 минуты
неужели никто не знает???
хоть ссылку дайте где подобное разбиралось
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2011, 21:51     подскажите как доделать программу
Посмотрите здесь:

Подскажите как доделать прогу - C++
Доброго времени суток) Помогите довести до ума программу, чтобы она работала в рамках одной проги 1) Находила наибольшую нечетную цифру....

Застрял.Подскажите как доделать. - C++
Напишите программу на &quot;родном&quot; С++, которая позволит ввести неограниченное количество значений и сохранить их в массив, размещенный в...

Не понимаю как доделать программу - C++
Требования: нужно,организовать массив из тех чисел, которые входят в последовательность более одного раза. Вот я создал 2 массива,...

Объясните как доделать программу - C++
Вывести элементы последовательности целых чисел от 1 до 1000 сумма цифр в которых больше заданного значения. Фрагмент кода который удалось...

Доделать программу - C++
Помогите плиз, доделать прогу. Ввести массив нецелых чисел. Те из них, которые положительны, копировать в другой массив. Затем...

Доделать программу. - C++
Товарищи программеры, скажите что тут не так? В борланде выдает море ошибок. FUNCTION DEC2BASEN(BASE: INTEGER; DEC: LONGINT): STRING; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
10.06.2011, 00:20     подскажите как доделать программу #2
Цитата Сообщение от SKORPION13 Посмотреть сообщение
неужели никто не знает???
Да знают все, знают. Но всем как всегда.

Цитата Сообщение от SKORPION13 Посмотреть сообщение
хоть ссылку дайте где подобное разбиралось
Да хоть в википедии. Гуглить.

Вот это надо? Аккуратно, без проверки на регистр символов.
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
#include <iostream>
#include <iterator>
#include <string>
 
std::string Encrypt(const std::string &source, const std::string &key) {
  std::string result;
  std::string::const_iterator key_symbol = key.begin();
  for (std::string::const_iterator source_symbol = source.begin();
    source_symbol != source.end(); ++source_symbol) {
    result.push_back(((*source_symbol + *key_symbol - 2 * 'A')
      % 26) + 'A');
    if (++key_symbol == key.end()) key_symbol = key.begin();
  }
  return result;
}
 
std::string Decrypt(const std::string &source, const std::string &key) {
  std::string result;
  std::string::const_iterator key_symbol = key.begin();
  for (std::string::const_iterator source_symbol = source.begin();
    source_symbol != source.end(); ++source_symbol) {
    result.push_back(((*source_symbol - *key_symbol + 26)
      % 26) + 'A');
    if (++key_symbol == key.end()) key_symbol = key.begin();
  }
  return result;
}
 
int main(int argc, char *argv[]) {
  std::string source = "ATTACKATDAWN";
  std::string key = "LEMON";
  
  std::cout << Encrypt(source, key) << std::endl
    << Decrypt(Encrypt(source, key), key);
  
  return 0;
}
SKORPION13
7 / 7 / 0
Регистрация: 05.06.2011
Сообщений: 140
10.06.2011, 00:30  [ТС]     подскажите как доделать программу #3
ну по идеи да , только тут заранее известен текст а я хотел просто чтоб текст с клавиатуры вводился и ключ тоже с клавиатуры .Да и у вас все очень круто написано я бы до такого не додумался т.к. новичек в этом деле , для меня было через условия как то попроще . но и на этом спасибо

точней я просто хотел чтоб пояснили как написать функцию
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2011, 00:44     подскажите как доделать программу
Еще ссылки по теме:

доделать программу - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;fstream&gt; using namespace std; int main() { setlocale(LC_ALL,&quot;Russian&quot;); fstream...

Доделать программу - C++
Задание : Фамилия и инициалы, должность, год поступления на работу, зарплата. Создать массив объектов. Вывести: а) список работников,...

Доделать программу С++ - C++
Помогите пожалуйста доделать программу. Нужно , чтобы при вводе дробных чисел программа выдавала сообщение &quot;Нужно ввести целое число&quot; ...

Доделать программу семинара - C++
Здравствуйте! Помогите пожалуйста разобраться со следующим заданием. Функции и массивы Выполнить задания третьего семинара...


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

Или воспользуйтесь поиском по форуму:
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
10.06.2011, 00:44     подскажите как доделать программу #4
Цитата Сообщение от SKORPION13 Посмотреть сообщение
только тут заранее известен текст а я хотел просто чтоб текст с клавиатуры вводился и ключ тоже с клавиатуры
Ну и вводите их с клавиатуры. Никтож не запрещает.

Цитата Сообщение от SKORPION13 Посмотреть сообщение
Да и у вас все очень круто написано я бы до такого не додумался т.к. новичек в этом деле , для меня было через условия как то попроще
Не знаю, что такое "через условия", но вот вариант по-примитивней.
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
#include <stdio.h>
#include <string.h>
 
char *Encrypt(const char *source, const char *key, char *destination) {
  size_t source_length = strlen(source), key_length = strlen(key);
  size_t source_index, key_index = 0;
  for (source_index = 0; source_index < source_length; ++source_index) {
    destination[source_index] = ((source[source_index] + key[key_index] - 2 * 'A') % 26) + 'A';
    if (++key_index >= key_length) key_index = 0;
  }
  return destination;
}
 
char *Decrypt(const char *source, const char *key, char *destination) {
  size_t source_length = strlen(source), key_length = strlen(key);
  size_t source_index, key_index = 0;
  for (source_index = 0; source_index < source_length; ++source_index) {
    destination[source_index] = ((source[source_index] - key[key_index] + 26) % 26) + 'A';
    if (++key_index >= key_length) key_index = 0;
  }
  return destination;
}
 
int main(int argc, char *argv[]) {
  char string[] = "ATTACKATDAWN";
  char key[] = "LEMON";
  printf("%s\n", Encrypt(string, key, string));
  printf("%s\n", Decrypt(string, key, string));
  return 0;
}

Цитата Сообщение от SKORPION13 Посмотреть сообщение
точней я просто хотел чтоб пояснили как написать функцию
Эээ, а вот это к учебникам и справочным руководствам. На худой конец к преподу.
Yandex
Объявления
10.06.2011, 00:44     подскажите как доделать программу
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru