Помогите решить задачу по информатике в паскаль
Милые страномамочки! Кто разбирается в информатике? Помогите, пожалуйста, решить задачу по информатике: В одномерном массиве из 10 элементов найти значение индекса и значение элемента, наименьшего из положительных. Заранее огромное спасибо!
Комментарии
const n = 10;
var a : array [ 1 .. n ] of integer;
i , min : integer;
begin
writeln ( ’Введите значение элемента: ’ );
for i := 1 to n do
begin
write ( ’a[’ , i , ’]= ’ );
readln ( a [ i ]);
end;
for i := 1 to n do
if a [ i ] > 0 then min := a [ i ] ;
for i := 1 to n do
if ( a [ i ] > 0 ) and ( a [ i ] <min ) then
min := a [ i ] ;
writeln ( ’min= ’ , min );
readln;
end.
↑ Перейти к этому комментарию
Вообще такого не знаю
Сейчас только инглиш помогаю и то... с натяжкой-он вышел за пределы моей компетенции
А уж информааааатика
for i := 1 to n do
begin
if a [ i ] &gt; 0 then min := a [ i ] ;
for i := 1 to n do
begin
if ( a [ i ] &gt; 0 ) and ( a [ i ] &lt;min ) then
min := a [ i ] ;
mini:= i;
end;
end;
writeln ( ’minindex= ’ , minI );
writeln ( ’min= ’ , min );
readln;
end.
Но что-то меня в этом коде смущает, правда я за Паскаль уже лет 5 не бралась
for i := 1 to n do
begin
if a [ i ] &gt; 0 then min := a [ i ] ;
for i := 1 to n do
begin
if ( a [ i ] &gt; 0 ) and ( a [ i ] &lt;min ) then
min := a [ i ] ;
mini:= i;
end;
end;
writeln ( ’minindex= ’ , minI );
writeln ( ’min= ’ , min );
readln;
end.
Но что-то меня в этом коде смущает, правда я за Паскаль уже лет 5 не бралась
↑ Перейти к этому комментарию
var i,ind:integer;
min:real;
a:array [1..10] of real;
begin
writeln(’введите значения элементов&rsquo
for i:=1 to 10 do
readln (a);
min:=a[1]; ind:=0;
for i:=1 to 10 do
if ((a>0) and (a<min))
then begin
min:=a;
ind:=i;
end;
writeln(’среди значений массива: &rsquo
for i:=1 to 10 do
write (a,’ &rsquo
writeln;
writeln (’наименьшим положительным является элемент с индексом ’,ind,’ и значением ’,min)
end.
if ind>0
then writeln (’наименьшим положительным является элемент с индексом ’,ind,’ и значением ’,min);
else writeln (’нет положительных чисел’);
1. запросить элементы массива (ввести через enter), считать в массив
2. обнулить значение индекса, min равен значению первого положительного элемента из массива.
3. сравнить каждый элемент массива с min - если он больше 0 и при этом меньше min, то мин присвоить новое значение, индекс запомнить в ind
4. вывести на экран значения массива, вывести значения min и ind (если есть хоть один положительный элемент) или вывести надпись, что нет положительных элементов.
program poiskmin;
var i,ind:integer;
min:real;
a:array [1..10] of real;
begin
writeln(’введите значения элементов’);
for i:=1 to 10 do
readln (a);
ind:=0; min:=0; i:=1;
while min=0 do begin
if ((a>0) and (i<=10)) then min:=a else i:=i=1;
end;
for i:=1 to 10 do
if ((a>0) and (a<min))
then begin
min:=a;
ind:=i;
end;
writeln(’среди значений массива: ’)
for i:=1 to 10 do
write (a,’ ’);
writeln;
if ind>0
then writeln (’наименьшим положительным является элемент с индексом ’,ind,’ и значением ’,min);
else writeln (’нет положительных чисел’);
end.
Вставка изображения
Можете загрузить в текст картинку со своего компьютера: