Действие можно выполнить в столбик, можно два числа сначала перевести в десятичную систему счисления, а потом вычесть и т.п. Я покажу программный метод решения задачи на Java:
var a: array[1..MAX_SIZE] of integer; i, size: integer;
procedure delete_odd_elements(); var i, j: integer; begin i := 1; repeat if odd(a[i]) then begin dec(size); for j := i to size do a[j] := a[j + 1] end else inc(i); until i > size; end;
begin writeln('Исходный массив: '); size := MAX_SIZE; for i := 1 to size do begin a[i] := random(100); write(a[i] : 3); end; delete_odd_elements; writeln; writeln('Полученный массив: '); for i := 1 to size do write(a[i] : 3); end.
//Вот программа, которая кодирует слова в системах счисления от 2 до 10 //Первый ввод - число, второй - система счисления //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-
(см. объяснение)
Объяснение:
Действие можно выполнить в столбик, можно два числа сначала перевести в десятичную систему счисления, а потом вычесть и т.п. Я покажу программный метод решения задачи на Java:
String A = "1010101";
String B = "11111";
System.out.println(Integer.parseInt(A,2)-Integer.parseInt(B,2));
Результат работы программы число 54.
Задание выполнено!
Комментарий:
Все-таки покажу решение столиком:
1010101
- 11111
110110