5. (20 ) в марксе будет открыто новое справочное бюро. целями данной
компании являются сбор и распространение информации о различных предприятиях.
создать базу данных номеров телефонов не составило труда. гораздо более сложной
стало структурирование номеров. номера бывают 5 видов: 3 сотовых и 2
стационарных. сотовые номера могут быть следующих видов: 11-значный с указанием
кода россии (7), внутрироссийский 11-значный (8), 10-значный
без восьмёрки и указания кода страны стационарные номера делятся на
старые и новые: новые - 6-значные с пятёркой впереди старые - 5-значные
нужно номера к следующему виду: для сотового - +7(-xx-xx,
для стационарного - +7(8772)5x-xx-xx. ваша состоит в структурировании
номера по заданному правилу.
примечание
исходные данные: вводится номер телефона одного из
описанных выше видов. гарантируется, что указанный
596488 +7(8772)59-64-88 | телефонный номер не содержит лидирующих нулей и
9627670918 +7(962)767-09-18 является 10- или 11-значным числом, если он сотовый,
80123456789 +7(012)34567-89 и 5- или 6-значным, если он стационарный.
результат: выведите структурированный номер
телефона,
Const
s=5;
Var
ar:array[1..s] of integer;
n,m,i:integer;
begin
writeln('N');
readln(n);
writeln('M');
readln(m);
writeln('Array:');
for i:=1 to s do
readln(ar[i]);
writeln('First array:');
for i:=1 to s do
begin
write(ar[i]:4);
if ar[i] div n<>0 then ar[i]:=ar[i]+m;
end;
writeln;
writeln('Final array:');
for i:=1 to s do
write(ar[i]:4);
end.
Пример ввода:
3
3
1
2
3
4
5
Пример вывода:
First array:
1 2 3 4 5
Final array:
1 2 6 7 8
//Блок-схема во вложении
//Первый ввод - число, второй - система счисления
//Pascal ABC.NET v3.0
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;
begin
readln(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.
//Слово Программа она кодирует как 11001111-11110000-11101110-11100011-11110000-11100000-11101100-11101100-11100000-