Мне нужно вместе с отрицательным числом и выводилась дата т.е. Модернизировать данную программу так чтобы вместе с минусовыми температурами выводилась и даты Например, 1 января -5 4 января -1 И так далее
// PascalABC.NET 3.0, сборка 1088 const nn=100; var a:array[1..nn] of integer; i,n,k,max,f2,f1,fib:integer; begin Write('Введите количество элементов в массиве (1-100): '); Read(n); Randomize; Writeln('*** Сформированный массив ***'); max:=0; for i:=1 to n do begin a[i]:=Random(100)+1; Write(a[i],' '); if max<a[i] then max:=a[i] end; Writeln; // Заменяем элементы, равные числам Фибоначчи, на -1 k:=0; f1:=1; fib:=1; while fib<=max do begin for i:=1 to n do if a[i]=fib then begin a[i]:=-1; Inc(k) end; f2:=f1; f1:=fib; fib:=f1+f2 end; if k>0 then begin // Удаляем элементы, равные -1 Writeln('*** Результирующий массив ***'); for i:=n downto 1 do begin if a[i]=-1 then begin if i<>n then for k:=i to n-1 do a[k]:=a[k+1]; Dec(n); end; end; for i:=1 to n do Write(a[i],' '); Writeln end else Writeln('Числа Фибоначчи не обнаружены') end.
Значит так. 154/8=19 (ост. 2) 19/8=2 (ост. 3) Записываем сначала последнее неполное частное, затем остатки, от последнего к первому. Получаем 232.
Теперь в шестнадцатеричную. 154/16=9 (ост. 10). Начиная с 11-ричной системы числа 10, 11, 12 и т.д. являются цмфрами и обозначаются букваси латинского алфавита: 10-A, 11-B, 12-C и т.д. получаем 9А
Аналогично с другими цифрами. ответы: 27-33 в 8-ричной и 1В в 16-ричной; 39-47 в 8-ричной и 27 в 16-ричной.
Если возникнут вопросы - задавать на страницу в вк: Георгий Воронин, г. Орёл, лицей #1, на аватарке я там на фоне красной шторки.
const
nn=100;
var
a:array[1..nn] of integer;
i,n,k,max,f2,f1,fib:integer;
begin
Write('Введите количество элементов в массиве (1-100): ');
Read(n);
Randomize;
Writeln('*** Сформированный массив ***');
max:=0;
for i:=1 to n do begin
a[i]:=Random(100)+1;
Write(a[i],' ');
if max<a[i] then max:=a[i]
end;
Writeln;
// Заменяем элементы, равные числам Фибоначчи, на -1
k:=0;
f1:=1; fib:=1;
while fib<=max do begin
for i:=1 to n do
if a[i]=fib then begin a[i]:=-1; Inc(k) end;
f2:=f1; f1:=fib; fib:=f1+f2
end;
if k>0 then begin
// Удаляем элементы, равные -1
Writeln('*** Результирующий массив ***');
for i:=n downto 1 do begin
if a[i]=-1 then begin
if i<>n then
for k:=i to n-1 do a[k]:=a[k+1];
Dec(n);
end;
end;
for i:=1 to n do Write(a[i],' ');
Writeln
end
else Writeln('Числа Фибоначчи не обнаружены')
end.
Тестовое решение:
Введите количество элементов в массиве (1-100): 20
*** Сформированный массив ***
21 51 15 38 52 35 42 51 16 53 96 3 53 82 87 12 55 37 93 19
*** Результирующий массив ***
51 15 38 52 35 42 51 16 53 96 53 82 87 12 37 93 19