Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите по самому легкому написать код на с++, буду очень благодарен, а то с этой темы проблемы

korov Ka Ученик (78), открыт 2 недели назад
В целочисленном массиве М(N), N≤20, содержатся разные числа от 1 до k, k<N, а в массиве S(k) - не повторяющиеся числа от 1 до k в произвольном порядке. Требуется зашифровать данные массива М следующим образом: новым значением элемента массива М будет значение элемента массива S, индекс которого равен значению этого элемента массива М. Затем расшифровать i-тое значение массива M и присвоить результат переменной P.
1 ответ
Батаев Дмитрий Просветленный (22904) 2 недели назад
я уже присылал ответ на эту тему... Что не так???
Батаев ДмитрийПросветленный (22904) 2 недели назад
int N= 20; int k= 11;;
int M[N-1]= {1,2,5,8,2,5,8,10,11,1,3,1,11,10,1,11,7,7,3,1};
int MM[N-1]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int S[k-1]= {5,4,3,2,1,7,8,9,10,11,6};

cout << "Массив M " << N << " элементов" << endl;
for (int i=0; i<N; i++) cout << M[i] << " ";
cout<< endl;
cout << "Массив S " << k << " элементов" << endl;
for (int i=0; i<k; i++) cout << S[i] << " ";
cout<< endl;
cout << "Массив до шифрования " << N << " элементов" << endl;
for (int i=0; i<N; i++) cout << MM[i] << " ";
cout<< endl;
int q;
for (int i=0; i<N; i++)
{ q= M[i]; MM[i]= S[q-1]; }
cout << "Массив после шифрования " << N << " элементов" << endl;
for (int i=0; i<N; i++) cout << MM[i] << " ";
korov KaУченик (78) 2 недели назад
2-3 строчка ругается на отнятие от массива единицы
Батаев Дмитрий Просветленный (22904) korov Ka, оставь просто M и N и я насчёт переменной не заморачивался.Просто выдаст перекодированный массив ))
Батаев ДмитрийПросветленный (22904) 1 неделю назад
Тут выяснилось, что кодблоки пропустили мой косяк и отработали правильно даже M-1 и N-1 для НУЖНЫХ 20 элементов. Удивительно )))
Батаев ДмитрийПросветленный (22904) 1 неделю назад
 #include <windows.h> 
#include <string>
#include <iostream>
#include <iomanip>

using namespace std;

int main(int argc, char **argv)
{
system("chcp 1251 > nul"); // Руссификация сообщений
setlocale(LC_ALL, "Russian");

int N= 20; int k= 11;;
int M[N]= {1,2,5,8,2,5,8,10,11,1,3,1,11,10,1,11,7,7,3,1};
int MM[N]= {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int S[k]= {5,4,3,2,1,7,8,9,10,11,6};

cout << "Массив M " << N << " элементов" << endl;
for (int i=0; i<N; i++) cout << M[i] << " ";
cout<< endl;
cout << "Массив S " << k << " элементов" << endl;
for (int i=0; i<k; i++) cout << S[i] << " ";
cout<< endl;

попробуй так и другим скажи - несколько чел спрашивали


Батаев ДмитрийПросветленный (22904) 1 неделю назад
     cout << "Массив до шифрования " << N << " элементов" << endl;  
for (int i=0; i<N; i++) cout << MM[i] << " ";
cout<< endl;

//Алгоритм шифрования строго секретно только для высшего руководства
int q;
for (int i=0; i<N; i++)
{
q= M[i]-1;
MM[i]= S[q];
}

//Вывод зашифрованного массива
cout << "Массив после шифрования " << N << " элементов" << endl;
for (int i=0; i<N; i++) cout << MM[i] << " ";

//Переменная P

int index= 8; cout << endl << endl << "Индекс = " << index << endl;
int p= M[index]; cout << "На входе Р= " << p << endl;
p= MM[index]; cout << "На выходе получим Р= " << p << endl;

вторая часть
Батаев ДмитрийПросветленный (22904) 1 неделю назад
cout << endl << "Хелло Ворлд" << endl;
system("pause"); // system("pause > nul");
return 0;
}
финал
korov KaУченик (78) 1 неделю назад
хорошо, спасибо большое)
Похожие вопросы