"создать в редакторе растрового типа рисунок. изображение нужно создать самостоятельно, не используя функцию копирования. промежуточные варианты создания изображения в виде скринов экрана." , опишите поэтапто как это сделать
procedure push(var ar:ty); var i,c:integer; begin c:=ar[n]; for i:=n downto 2 do ar[i]:=ar[i-1]; ar[1]:=c; end;
begin randomize; writeln('Enter K:'); readln(k); writeln('First array:'); for i:=1 to n do begin; ar[i]:=random(10); write(ar[i]:4); end; for i:=1 to k do push(ar); writeln; writeln('Final array:'); for i:=1 to n do write(ar[i]:4); end. 2)var a,i,b,r,n:integer; s,se: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(a); readln(n); 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; val(s,r,a); write(r); end.
Объяснение:
a - массив;
sum - сумма элементов массива;
avrg - среднее значение.
Пример алгоритма решения задачи:
Заполняем массив (например, случайными числами).
Переменной sum изначально присваиваем значение 0.
Вычисляем сумму элементов, в цикле перебирая массив и добавляя значение каждого к переменной sum.
Находим среднее арифметическое, путем деления суммы на количество элементов (хранится в константе N).
Выводим на экран весь массив и найденное среднее значение. (Это не обязательно, но необходимо для удобства.)
Снова в цикле перебираем массив. Если очередной элемент больше среднего арифметического, то выводим этот элемент на экран.
const N = 10;
var
a: array[1..N] of integer;
i: byte;
avrg: real;
sum: integer;
begin
randomize;
for i:=1 to N do a[i]:=random(50)+1;
sum := 0;
for i:=1 to N do sum := sum + a[i];
avrg := sum/N;
// весь массив
for i:=1 to N do write(a[i]:3);
writeln;
writeln('Среднее арифм.: ',avrg:4:2
for i:=1 to N do if a[i]>avrg then write(a[i]:3);
writeln;
end.
Пример выполнения программы:
7 36 21 48 33 46 7 17 19 41
Среднее арифм.: 27.50
36 48 33 46 41
Const
n=10;
type
ty=array[1..n] of integer;
var
ar:ty;
i,k:integer;
procedure push(var ar:ty);
var
i,c:integer;
begin
c:=ar[n];
for i:=n downto 2 do
ar[i]:=ar[i-1];
ar[1]:=c;
end;
begin
randomize;
writeln('Enter K:');
readln(k);
writeln('First array:');
for i:=1 to n do
begin;
ar[i]:=random(10);
write(ar[i]:4);
end;
for i:=1 to k do
push(ar);
writeln;
writeln('Final array:');
for i:=1 to n do
write(ar[i]:4);
end.
2)var
a,i,b,r,n:integer;
s,se: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(a);
readln(n);
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;
val(s,r,a);
write(r);
end.