Проще всего решать такие задачи, приведя всё к одной системе, проще всего 16ричной(легче переводить), хотя можно и в10ричную, но сложней.
Итак
a = 91h
b = 352(8) = 011 101 010b = 1110 1010b =EAh
ч1 = 1000 1001b = 89h
ч2 = 1000 1100b = 8Ch
ч3 = 1101 0111b = D7h
ч4 = 1111 1000b = F8h
Ну и всё, теперь ясно видно, что заданному условию удовлетворяет только ч3.
Потому, что
если расположить все числа в поряде возрастания, то получим
89h 8Ch 91h D7h EAh F8h
ч1 ч2 а ч3 b ч4
Вот теперь очевидно.
program z1;
uses crt;
var a:array[1..10,1..15] of integer; {- описание массива}
i,j:byte; {- описание переменных, служащих для заполнения массива и нахождения нечётного элемента}
e:integer; {- переменная, хранящая значение первого нечётного}
begin
clrscr;
randomize;
{заполнение и вывод на экран массива}
for i:=1 to 10 do begin
for j:=1 to 15 do begin
a[i,j]:=random(1000)+1;
write(a[i,j]:5);
end;
writeln;
end;
writeln; {- отступ от массива}
for j:=1 to 15 do begin {- с первого по 15 столбик}
e:=0; {- обнуляем переменную для нечётного элемента т.к. в каждом столбце он разный}
for i:=1 to 10 do {с первой по 10 элемент столбца}
if (e=0) and (odd(a[i,j])) then {- если переменная пока пуста и текущий элемент нечётный, то}
e:=a[i,j]; {- то переменной присвоить значение текущего элементна}
write(e:5); {- и вывести переменную на экран}
end;
readkey
end.
Поделитесь своими знаниями, ответьте на вопрос:
Сна delphi пусть дана вещественная квадратная матрица порядка n. относительно элементов, расположенных в строках, начинающихся с отрицательного элемента, найдите суммы тех из них, которые расположены соответственно ниже, выше и на главной диагонали.
begin
var n := ReadInteger('n=');
var a := MatrixRandom(n, n, -10, 10);
println(a);
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do
if a[i, a.GetLowerBound(1)] < 0 then begin
var s1 := 0;
var s2 := 0;
var s3 := 0;
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
if i < j then s1 += a[i, j]
else if i = j then s2 += a[i, j]
else if i > j then s3 += a[i, j];
writeln(i + ': ' + s1 + ', ' + s2 + ', ' + s3);
end;
end.