Какую информацию содержит поле записи?
А) Числовую характеристику одного объекта.
Б) Конкретную характеристику одного объекта произвольного типа.
В) Текстовую характеристику одного объекта.
Г) Текстовую характеристику одного объекта произвольного типа
const
nn=100;
var
a:array[1..nn] of integer;
n:integer;
procedure aInit(p,q:integer);
{ Инициализирует массив случайными целыми значениями из интервала [p;q] }
var
i,k:integer;
begin
Randomize;
k:=q-p+1;
for i:=1 to n do a[i]:=Random(k)+p
end;
procedure aOut(k:integer);
{ Выводит в строку значения эементов массива, отводя элементу k позиций }
var
i:integer;
begin
for i:=1 to n do Write(a[i]:k);
Writeln
end;
function aMax():integer;
{ Возвращает максимальное значение элемента в массиве }
var
i,m:integer;
begin
m:=a[1];
for i:=2 to n do
if m<a[i] then m:=a[i];
aMax:=m
end;
function SumBeforeLastPositive():integer;
{ Возвращает сумму элементов массива,
расположенных до последнего положительного элемента }
var
i,j,s:integer;
flag:boolean;
begin
i:=n; flag:=false;
while (not flag) and (i>=1) do begin
flag:=(a[i]<=0);
if not flag then Dec(i)
end;
s:=0;
for j:=1 to i-1 do s:=s+a[j];
SumBeforeLastPositive:=s
end;
procedure aShrink(pa,pb:integer);
{
Процедура сжимает массив, удаляя из него элементы,
модуль которых находится в интервале [pa;pb].
Освободившийся элементы заполняются нулями.
}
var
i,j,k:integer;
flag:boolean;
begin
k:=0; i:=1;
while i<=n do
if a[i] in [pa..pb] then
begin
if k=0 then k:=i-1;
j:=i+1; flag:=false;
while (not flag) and (j<=n) do begin
flag:=not (a[j] in [pa..pb]);
if not flag then Inc(j);
end;
if flag then begin Inc(k); a[k]:=a[j]; i:=j+1 end
else i:=n+1
end
else begin Inc(k); a[k]:=a[i]; Inc(i) end;
for i:=k+1 to n do a[i]:=0
end;
var
p,q,k,b,c:integer;
begin
Write('Укажите количество членов в массиве: ');
Read(n);
Write('Укажите интервал значений элементов массива: ');
Read(p,q);
Write('Укажите интервал исключаемых элементов массива: ');
Read(b,c);
Write('Укажите количество позиций для вывода значений элемента: ');
Read(k);
aInit(p,q);
Write('Исходный массив'); aOut(k);
Writeln('Значение максимального элемента равно ',aMax());
Writeln('Сумма до последнего положительного равна ',SumBeforeLastPositive());
Writeln('Сжатый массив');
aShrink(b,c); aOut(k)
end.
Тестовое решение:
Укажите количество членов в массиве: 15
Укажите интервал значений элементов массива: -6 9
Укажите интервал исключаемых элементов массива: -2 3
Укажите количество позиций для вывода значений элемента: 3
Исходный массив 7 7 7 -1 5 5 -5 6 0 -1 3 2 -4 1 8
Значение максимального элемента равно 8
Сумма до последнего положительного равна 35
Сжатый массив
7 7 7 5 5 -5 6 -4 8 0 0 0 0 0 0
это язык си++ он похож на си#
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
// пункт а, если первая больше выводит 1, если последняя то 3, если равны то ==. Аналогично с пунктами в и с
cout << "a)";
if (n / 100 > n % 10)
cout << 1 << "\n";
else if (n / 100 < n % 10)
cout << 3 << "\n";
else
cout << "==" << "\n";
cout << "b)";
if (n / 100 > n / 10 % 10)
cout << 1 << "\n";
else if (n / 100 < n / 10 % 10)
cout << 2 << "\n";
else
cout << "==" << "\n";
cout << "c)";
if (n / 10 % 10 > n % 10)
cout << 2 << "\n";
else if (n / 10 % 10 < n % 10)
cout << 3 << "\n";
else
cout << "==" << "\n";
//system("pause");
}