Sum:=0;
for i:=1 to p do
Sum:=Sum+x;
(Pascal)В одномерном массиве
В одномерном массиве состоящем из n вещественных элементов, вычислить:
1) максимальный элемент массива
2) Сумму элементов массива, расположенных до последнего положительного элемента
3) Сжать массив, удалив из него элементы модуль которых находиться в интервале [a,b] Освободившееся в конце массива элементы заполнить нулями
Цитата: Tray
Плизз, очень срочно надо сделать зачётную работу! На паскале!
В одномерном массиве состоящем из n вещественных элементов, вычислить:
1) максимальный элемент массива
2) Сумму элементов массива, расположенных до последнего положительного элемента
3) Сжать массив, удалив из него элементы модуль которых находиться в интервале [a,b] Освободившееся в конце массива элементы заполнить нулями
В одномерном массиве состоящем из n вещественных элементов, вычислить:
1) максимальный элемент массива
2) Сумму элементов массива, расположенных до последнего положительного элемента
3) Сжать массив, удалив из него элементы модуль которых находиться в интервале [a,b] Освободившееся в конце массива элементы заполнить нулями
Всю программу пока писать некогда, а вообще делаешь так:
1) запоминаешь первый элемент массива max:=x[1]
дальше в цикле проверяешь если x>m (или x[1]) значит max:=x
можешь ещё "порядковый номер" запомнить nMax:=i всё вэтом цикле
2) вобщем тоже в цикле проверяешь к примеру c конца
если элемент >0 то запоминаешь номер p:=1;
а потом в цикле суммируешь все элементы до p
Код:
3)Чё то не врубаюсь, наверное действуе то, что вторые сутки не спал.
Код:
program labuda;
const N=10;
var Massiv:array[1..N] of integer;
i, j, index, max, summ, a, b: integer;
begin
Randomize;
for i:=1 to N do Massiv:= 10-2*random(10);
{----}
writeln;
max:=Massiv[1];
index:=1;
for i:=1 to N do
begin
if max<Massiv then
begin
max:= Massiv;
index:=i;
end;
end;
WriteLn('maksimalniy element Massiv[',index,']=',max);
{-------------}
writeln;
index:=0;
for i:=N DownTo 1 do
begin
if Massiv>0 then
begin
index:=i;
break;
end;
end;
summ:=0;
for i:=1 to index do summ:=summ+Massiv;
writeln('summirovali do ',index,' elementa, summa=',summ);
{-----}
write('vvedite a=');
readln(a);
write('vvedite b=');
readln(b);
writeln;
writeln('na4alnyy massiv');
for i:=1 to N do write(Massiv,' ');
writeln;
index:=0;
for i:=1 to N do
begin
if ((a<=Abs(Massiv)) and (Abs(Massiv)<=b)) then
begin
for j:=i to n do
begin
if ((a<=Abs(Massiv[j])) and (Abs(Massiv[j])<=b)) then
begin
summ:=Massiv[j];
Massiv[j]:=Massiv[j+1];
Massiv[j+1]:=summ;
end;
end;
index:=index+1;
if i=(n-index) then break;
end;
end;
if index>0 then
begin
for i:=1 To index do Massiv[n-i+1]:=0;
end;
writeln('udaleno ', index,' elementov');
writeln('kone4ny massiv');
for i:=1 to N do write(Massiv, ' ');
readln;
end.
const N=10;
var Massiv:array[1..N] of integer;
i, j, index, max, summ, a, b: integer;
begin
Randomize;
for i:=1 to N do Massiv:= 10-2*random(10);
{----}
writeln;
max:=Massiv[1];
index:=1;
for i:=1 to N do
begin
if max<Massiv then
begin
max:= Massiv;
index:=i;
end;
end;
WriteLn('maksimalniy element Massiv[',index,']=',max);
{-------------}
writeln;
index:=0;
for i:=N DownTo 1 do
begin
if Massiv>0 then
begin
index:=i;
break;
end;
end;
summ:=0;
for i:=1 to index do summ:=summ+Massiv;
writeln('summirovali do ',index,' elementa, summa=',summ);
{-----}
write('vvedite a=');
readln(a);
write('vvedite b=');
readln(b);
writeln;
writeln('na4alnyy massiv');
for i:=1 to N do write(Massiv,' ');
writeln;
index:=0;
for i:=1 to N do
begin
if ((a<=Abs(Massiv)) and (Abs(Massiv)<=b)) then
begin
for j:=i to n do
begin
if ((a<=Abs(Massiv[j])) and (Abs(Massiv[j])<=b)) then
begin
summ:=Massiv[j];
Massiv[j]:=Massiv[j+1];
Massiv[j+1]:=summ;
end;
end;
index:=index+1;
if i=(n-index) then break;
end;
end;
if index>0 then
begin
for i:=1 To index do Massiv[n-i+1]:=0;
end;
writeln('udaleno ', index,' elementov');
writeln('kone4ny massiv');
for i:=1 to N do write(Massiv, ' ');
readln;
end.