{данная программа переводит любое сочетание символов ascii в систему счисления заданную пользователем.}
//pascal abc.net v3.0 сборка 1111
var
a,i,b,r,n,j,bug: integer;
s,se,slo,slof: string;
procedure preob(var a,b,n: integer; var se: string);
begin
repeat
b: =a mod n;
a: =a div n;
str(b,se);
s+=se;
until (a< =n-1);
end;
beginreadln(slo);
readln(n);
for j: =1 to length(slo) do
begin;
a: =ord(slo[j]);
preob(a,b,n,se);
str(a,se);
s+=se;
for i: =1 to length(s) div 2 do
begin;
se: =s[i];
s[i]: =s[length(s)-i+1];
s[length(s)-i+1]: =se[1];
end;
write(s,'-');
slof: =slof+s;
delete(s,1,length(s));
end;
end.
пример ввода:
работа на завтра.
2
пример вывода:
11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-
{таким образом, фразу " работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}
#include <iostream> // подключаем библиотеку потокового ввода/вывода (cout/cin/...);
#include <ctime> // подключем библиотеку для возможности изменения стандартного генератора чисел (srand(...));
int main()
{
using namespace std; // используем пространство имен std;
setlocale(LC_ALL, "ru"); // возможность использования русского текста в консоли;
srand(time(NULL)); // генератор случайных числе;
const int N = 10; // константный размер массива;
int A[N][N]; // обьявление двумерного массива;
cout << "Исходный двумерный массив: " << endl;
for (int i = 0; i < N; i++) // проходим по двумерному массиву используя 2 цикла;
{
for (int j = 0; j < N; j++)
{
A[i][j] = rand() % 50; // заполняем двумерный массива случайными числами от 0 до 50;
cout << A[i][j] << '\t'; // и сразу выводим его на экран;
}
cout << endl;
}
// ищем минимальное значение в массиве:
int min = A[0][0]; // предположим, что первый элемент массива это минимальный элемент;
for (int i = 0; i < N; i++) // проходим по двумерному массиву используя 2 цикла;
{
for (int j = 0; j < N; j++)
{
// если текущий элемент массива меньше min, тогда присваиваем переменной min это значение. Таким образом мы найдем минимальный элемент;
if (min > A[i][j]) // если в теле условия/цикла ожидается 1 инструкция, то { } можно не ставить;
min = A[i][j];
}
}
// обнуляем все элементы массива, кроме элементов, расположеных на главной диагонали:
for (int i = 0; i < N; i++) // проходим по двумерному массиву используя 2 цикла;
{
for (int j = 0; j < N; j++)
{
// если i будет равен j, то получится что мы идем по глвной диагонали: i=1:j=1, i=2:j=2, i=3:j=3 ...
// поэтому, если i не равен j обнуляем элемент;
if (i != j)
A[i][j] = 0;
}
}
cout << "\nРезультат: " << endl;
for (int i = 0; i < N; i++) // проходим по двумерному массиву используя 2 цикла;
{
for (int j = 0; j < N; j++)
{
cout << A[i][j] << '\t'; // выводим то что получилось в консоль;
}
cout << endl;
}
cout << "\nМинимальный элемент в двумерном массиве = " << min << endl;
return 0;
}