Переделать код с C++ на C#
Формулировка задачи:
//двойной квадрат
#include <algorithm>
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <Windows.h>
#include <ctime>
#include <string>
using namespace std;
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
int n1, n2, m1, m2, v;
char kvadrat1_[7][5];
int size = 100;
kvadrat1_[0][0] = 'Ч';
kvadrat1_[0][1] = 'Э';
kvadrat1_[0][2] = 'Н';
kvadrat1_[0][3] = 'Ю';
kvadrat1_[0][4] = 'Р';
kvadrat1_[1][0] = 'И';
kvadrat1_[1][1] = 'Т';
kvadrat1_[1][2] = 'Ь';
kvadrat1_[1][3] = 'Ц';
kvadrat1_[1][4] = 'Я';
kvadrat1_[2][0] = 'Д';
kvadrat1_[2][1] = 'М';
kvadrat1_[2][2] = 'Е';
kvadrat1_[2][3] = '.';
kvadrat1_[2][4] = 'О';
kvadrat1_[3][0] = 'В';
kvadrat1_[3][1] = 'Ы';
kvadrat1_[3][2] = 'П';
kvadrat1_[3][3] = 'Ж';
kvadrat1_[3][4] = ' ';
kvadrat1_[4][0] = ':';
kvadrat1_[4][1] = 'Б';
kvadrat1_[4][2] = 'У';
kvadrat1_[4][3] = 'Л';
kvadrat1_[4][4] = 'К';
kvadrat1_[5][0] = 'З';
kvadrat1_[5][1] = 'Щ';
kvadrat1_[5][2] = 'Ф';
kvadrat1_[5][3] = 'Г';
kvadrat1_[5][4] = 'Ш';
kvadrat1_[6][0] = 'Х';
kvadrat1_[6][1] = 'А';
kvadrat1_[6][2] = ',';
kvadrat1_[6][3] = 'С';
kvadrat1_[6][4] = 'Ъ';
char kvadrat2_[7][5];
kvadrat2_[0][0] = 'Я';
kvadrat2_[0][1] = 'Ч';
kvadrat2_[0][2] = 'Г';
kvadrat2_[0][3] = 'И';
kvadrat2_[0][4] = 'Т';
kvadrat2_[1][0] = ',';
kvadrat2_[1][1] = 'М';
kvadrat2_[1][2] = 'Ь';
kvadrat2_[1][3] = 'Ж';
kvadrat2_[1][4] = 'О';
kvadrat2_[2][0] = '3';
kvadrat2_[2][1] = 'Ю';
kvadrat2_[2][2] = 'Р';
kvadrat2_[2][3] = 'В';
kvadrat2_[2][4] = 'Щ';
kvadrat2_[3][0] = 'Ц';
kvadrat2_[3][1] = ':';
kvadrat2_[3][2] = 'П';
kvadrat2_[3][3] = 'Е';
kvadrat2_[3][4] = 'Л';
kvadrat2_[4][0] = 'Ъ';
kvadrat2_[4][1] = 'А';
kvadrat2_[4][2] = 'Н';
kvadrat2_[4][3] = '.';
kvadrat2_[4][4] = 'Х';
kvadrat2_[5][0] = 'Э';
kvadrat2_[5][1] = 'К';
kvadrat2_[5][2] = 'С';
kvadrat2_[5][3] = 'Ш';
kvadrat2_[5][4] = 'Д';
kvadrat2_[6][0] = 'Б';
kvadrat2_[6][1] = 'Ф';
kvadrat2_[6][2] = 'У';
kvadrat2_[6][3] = 'Ы';
kvadrat2_[6][4] = ' ';
for (int i = 0; i < 7; ++i)
{
for (int j = 0; j < 5; ++j)
cout << kvadrat1_[i][j] << " ";
cout << endl;
}
cout << endl;
for (int i = 0; i < 7; ++i)
{
for (int j = 0; j < 5; ++j)
cout << kvadrat2_[i][j] << " ";
cout << endl;
}
stop:
string shifr = "";
char* text;
stop1:
cout << "ВВедите текст ";
text = new char[size];
cin.getline(text, size);
int n = strlen(text);
for (int q = 0; q < n; q = q + 2)
{
for (int i = 0; i < 7; ++i)
for (int j = 0; j < 5; ++j)
n1 = 0;
n2 = 0;
m1 = 0;
m2 = 0;
for (int i = 0; i < 7; ++i)
{
for (int j = 0; j < 5; ++j)
{
if (text[q] == kvadrat1_[i][j])
{
n1 = i;
n2 = j;
}
}
}
for (int i = 0; i < 7; ++i)
{
for (int j = 0; j < 5; ++j)
{
if (text[q + 1] == kvadrat2_[i][j])
{
m1 = i;
m2 = j;
if (m1 != n1)
shifr = shifr + kvadrat2_[n1][m2] + kvadrat1_[m1][n2];
if (m1 == n1)
shifr = shifr + kvadrat2_[n1][n2] + kvadrat1_[m1][m2];
}
}
}
}
cout << endl;
cout << shifr;
cout << endl;
exit(0);
_getch();
return 0;
};Решение задачи: «Переделать код с C++ на C#»
textual
Листинг программы
int n1, n2, m1, m2, v;
char[,] kvadrat1_ = new char[7,5]
{
{"ЧЭНЮР".ToCharArray()},
{"ИТЬЦЯ".ToCharArray()},
{"ДМЕ.О".ToCharArray()},
{"ВЫПЖ ".ToCharArray()},
{":БУЛК".ToCharArray()},
{"ЗЩФГШ".ToCharArray()},
{"ХА,СЪ".ToCharArray()}
};
char[,] kvadrat1_ = new char[7,5]
{
{"ЯЧГИТ".ToCharArray()},
{",МЬЖО".ToCharArray()},
{"ЗЮРВЩ".ToCharArray()},
{"Ц:ПЕЛ".ToCharArray()},
{"ЪАН.Х".ToCharArray()},
{"ЭКСШД".ToCharArray()},
{"БФУЫ ".ToCharArray()}
};
for (int i = 0; i < 7; ++i)
{
for (int j = 0; j < 5; ++j)
Console.Write("{0} ", kvadrat1_[i][j]);
Console.WriteLine();
}
Console.WriteLine();
for (int i = 0; i < 7; ++i)
{
for (int j = 0; j < 5; ++j)
Console.Write("{0} ", kvadrat2_[i][j]);
Console.WriteLine();
}
Console.ReadKey();
string shifr = "";
char[] text;
Console.ReadKey();
Console.Write("ВВедите текст ");
text = new char[size];
text = Console.ReadLine().ToCharArray();
int n = text.Length;
for (int q = 0; q < n; q = q + 2)
{
for (int i = 0; i < 7; ++i)
for (int j = 0; j < 5; ++j)
n1 = 0;
n2 = 0;
m1 = 0;
m2 = 0;
for (int i = 0; i < 7; ++i)
{
for (int j = 0; j < 5; ++j)
{
if (text[q] == kvadrat1_[i][j])
{
n1 = i;
n2 = j;
}
}
}
for (int i = 0; i < 7; ++i)
{
for (int j = 0; j < 5; ++j)
{
if (text[q + 1] == kvadrat2_[i][j])
{
m1 = i;
m2 = j;
if (m1 != n1)
shifr = shifr + kvadrat2_[n1][m2] + kvadrat1_[m1][n2];
if (m1 == n1)
shifr = shifr + kvadrat2_[n1][n2] + kvadrat1_[m1][m2];
}
}
}
}
Console.WriteLine("\n{0}", shifr);