Ввести массив a(n). Если массив содержит не больше двух нулевых элементов, то уменьшить положительные элементы массива в 2 раза, иначе - найти минимальный
по модулю элемент массива. Pascal
Ответы на вопрос
Ответил Gleb1Kosyrev
0
var a:array of real;
k,i,n:integer;
min,minr:real;
begin;
min:=2147483647;
write('Введите размерность массива:');
readln(n);
setlength(a,n+1);
for i:=1 to n do
begin;
readln(a[i]);
if a[i]=0 then inc(k);
end;
if k<2 then
begin;
writeln('Final array:');
for i:=1 to n do
begin;
a[i]:=a[i]/2;
write(a[i]:4);
end;
end
else
begin;
for i:=1 to n do
if abs(a[i])<min then
begin;
min:=abs(a[i]);
minr:=a[i];
end;
write('Result:',minr);
end;
end.
k,i,n:integer;
min,minr:real;
begin;
min:=2147483647;
write('Введите размерность массива:');
readln(n);
setlength(a,n+1);
for i:=1 to n do
begin;
readln(a[i]);
if a[i]=0 then inc(k);
end;
if k<2 then
begin;
writeln('Final array:');
for i:=1 to n do
begin;
a[i]:=a[i]/2;
write(a[i]:4);
end;
end
else
begin;
for i:=1 to n do
if abs(a[i])<min then
begin;
min:=abs(a[i]);
minr:=a[i];
end;
write('Result:',minr);
end;
end.
Ответил Marlishe
0
что значит эта строчка: min:=2147483647;?
Ответил Gleb1Kosyrev
0
Это максимум типа integer. Чтобы не было исключений.
Ответил Marlishe
0
Программа уменьшает все элементы массива на 2, а нужно только положительные(
Ответил Marlishe
0
И в случае нахождения минимального элемента массива, 0, как я понимаю, не должен учитываться
Ответил Gleb1Kosyrev
0
var a:array of real;
k,i,n:integer;
min,minr:real;
begin;
min:=2147483647;
write('Введите размерность массива:');
readln(n);
setlength(a,n+1);
for i:=1 to n do
begin;
readln(a[i]);
if a[i]=0 then inc(k);
end;
if k<2 then
begin;
writeln('Final array:');
for i:=1 to n do
begin;
if a[i]>0 then a[i]:=a[i]/2;
write(a[i]:4);
end;
end
else
begin;
for i:=1 to n do
if abs(a[i])<min then
begin;
min:=abs(a[i]);
minr:=a[i];
end;
write('Result:',minr);
end;
end.
k,i,n:integer;
min,minr:real;
begin;
min:=2147483647;
write('Введите размерность массива:');
readln(n);
setlength(a,n+1);
for i:=1 to n do
begin;
readln(a[i]);
if a[i]=0 then inc(k);
end;
if k<2 then
begin;
writeln('Final array:');
for i:=1 to n do
begin;
if a[i]>0 then a[i]:=a[i]/2;
write(a[i]:4);
end;
end
else
begin;
for i:=1 to n do
if abs(a[i])<min then
begin;
min:=abs(a[i]);
minr:=a[i];
end;
write('Result:',minr);
end;
end.
Новые вопросы
Русский язык,
2 года назад
Математика,
2 года назад
Математика,
9 лет назад
Физика,
9 лет назад
Обществознание,
10 лет назад