Вопрос задан 28.01.2020 в 07:08.
Предмет Информатика.
Спрашивает Смирнов Евгений.
С одномерным массивом, состоящим из n вещественных элементов, произвести следующие операции: 1)
найти номер минимального элемента массива; 2) вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами; 3) преобразовать массив таким образом, чтобы сначала располагались, все элементы, модуль которых не превышает 1, а потом – все остальные. Примечание: Размеры массивов задаются именованными константами. Все операции над массивами выполняются отдельными процедурами и функциями в том порядке, в котором они описаны в задании. Элементы массивов задаются одним из двух способов: генерация случайным образом или ввод с клавиатуры. Способ заполнения массива выбирается пользователем. Реальную размерность массива программа должна спрашивать у пользователя (в диапазоне от единицы до значения, определяемое константой).Ответы на вопрос
        Отвечает Громова Вилена.
                
     //Pascal ABC.NET 3.1 сборка 1219
Const
nc=10000;
Type
ty=array[1..nc] of real;
function minind(ar:ty;n:integer):integer;
Var
i,mini:integer;
min:real;
begin
min:=11;
for i:=1 to n do
if ar[i]<min then
begin
min:=ar[i];
mini:=i;
end;
minind:=mini;
end;
function sum1to2(ar:ty;n:integer):real;
Var
i,t1,t2:integer;
r:real;
begin
for i:=1 to n do
if ar[i]<0 then
begin
t1:=i;
break;
end;
for i:=t1+1 to n do
if ar[i]<0 then
begin
t2:=i;
break;
end;
for i:=t1+1 to t2-1 do
r:=r+ar[i];
sum1to2:=r;
end;
procedure stransort(var ar:ty;n:integer);
Var i,j,nd:integer;
begin
nd:=0;
for i:=1 to n do
if abs(ar[i])<=1 then
begin
inc(nd);
swap(ar[i],ar[nd]);
end;
end;
Var
ar:ty;
i,n:integer;
begin
randomize;
readln(n);
writeln('Array:');
for i:=1 to n do
begin
ar[i]:=random(-3,3);
write(ar[i]:4);
end;
writeln;
writeln('Index of minimum:',minind(ar,n));
writeln('Sum=',sum1to2(ar,n));
stransort(ar,n);
writeln('Final array:');
for i:=1 to n do
write(ar[i]:4);
end.
Пример ввода:
5
Пример вывода:
Array:
3 2 1 2 1
Index of minimum:3
Sum=0
Final array:
1 1 3 2 2
                                        Const
nc=10000;
Type
ty=array[1..nc] of real;
function minind(ar:ty;n:integer):integer;
Var
i,mini:integer;
min:real;
begin
min:=11;
for i:=1 to n do
if ar[i]<min then
begin
min:=ar[i];
mini:=i;
end;
minind:=mini;
end;
function sum1to2(ar:ty;n:integer):real;
Var
i,t1,t2:integer;
r:real;
begin
for i:=1 to n do
if ar[i]<0 then
begin
t1:=i;
break;
end;
for i:=t1+1 to n do
if ar[i]<0 then
begin
t2:=i;
break;
end;
for i:=t1+1 to t2-1 do
r:=r+ar[i];
sum1to2:=r;
end;
procedure stransort(var ar:ty;n:integer);
Var i,j,nd:integer;
begin
nd:=0;
for i:=1 to n do
if abs(ar[i])<=1 then
begin
inc(nd);
swap(ar[i],ar[nd]);
end;
end;
Var
ar:ty;
i,n:integer;
begin
randomize;
readln(n);
writeln('Array:');
for i:=1 to n do
begin
ar[i]:=random(-3,3);
write(ar[i]:4);
end;
writeln;
writeln('Index of minimum:',minind(ar,n));
writeln('Sum=',sum1to2(ar,n));
stransort(ar,n);
writeln('Final array:');
for i:=1 to n do
write(ar[i]:4);
end.
Пример ввода:
5
Пример вывода:
Array:
3 2 1 2 1
Index of minimum:3
Sum=0
Final array:
1 1 3 2 2
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
	- 
			
Математика
 - 
			
Литература
 - 
			
Алгебра
 - 
			
Русский язык
 - 
			
Геометрия
 - 
			
Английский язык
 - 
			
Химия
 - 
			
Физика
 - 
			
Биология
 - 
			
Другие предметы
 - 
			
История
 - 
			
Обществознание
 - 
			
Окружающий мир
 - 
			
География
 - 
			
Українська мова
 - 
			
Информатика
 - 
			
Українська література
 - 
			
Қазақ тiлi
 - 
			
Экономика
 - 
			
Музыка
 - 
			
Право
 - 
			
Беларуская мова
 - 
			
Французский язык
 - 
			
Немецкий язык
 - 
			
МХК
 - 
			
ОБЖ
 - 
			
Психология
 - 
			
Физкультура и спорт
 - 
			
Астрономия
 - 
			
Кыргыз тили
 - 
			
Оʻzbek tili
 
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			