Помогите пожалуйста решить задачи, а то я не понимаю=(
1 задача:
В одномерном массиве состоящем из целочисленных элементов вычислить?:
1) Номер максимального элемента массива
2) Произведение элементов массива, расположенных между первым и вторым нулевыми элементами.
3) Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в нечётных позициях, а во втрой половине элементы стоявшие в чётных позициях.
Первые два пункта работают, не знаю что делать с третьим. Вот код:
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var a:array[1..10] of integer; {Массив}
b:array[1..10] of integer;
left, right, rez: integer;
i,j,max:integer;
begin
{ TODO -oUser -cConsole Main : Insert code here }
for i:=1 to 10 do
begin
write('a[',i,']=');
readln(a[i]);
end;
max:=a[1];
for i:=2 to 10 do
if a[i]>max then max:=a[i];
write('maximalnii element=',max);
readln;
begin
rez := 1;
Write('Proizvedenie mezdu nuliami=');
Write;
for i:= 1 to 10 do
if a[i]=0 then begin left:=i;
Break;
end;
for i:= left+1 to 10 do
if a[i]=0 then begin right:= i;
Break;
end;
for i:=left+1 to right-1 do
rez:= rez*a[i];
end;
Write(rez);
Readln;
begin
for j:=1 to 10 do
begin
write('b[',j,']=');
readln(b[j]);
end;
if (j mod 2)=0 then begin right:=j;
if (j mod 2)<>0 then begin left:=j;
end;
readln;
end;
end;
end.
2 задача:
1)Для заданной матрицы размером 8x8 найти такие k, что k-ая строка матрицы совпадает с k-ым столбцом(Оформить ввиде процедуры)
2)Найти сумму элементов в тех строках, которые содержат хотя бы один отрицательный элемент(оформить ввиде функции)
Мой код:
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
SysUtils;
var a:array[1..8,1..8] of integer;
i,j:integer;
procedure sravnenie;
var
si,sj:string;
begin
si:='';
sj:='';
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
sj:=sj+IntToStr(a[i,j]);
si:=si+IntToStr(a[i,j]);
end;
end;
end;
function summa:integer;
var h:integer;
begin
result:=0;
h:=0;
for i:=1 to 3 do
begin
for j:=1 to 3 do
begin
if a[i,j]<0 then
h:=1;
end;
if h=1 then
begin
for j:=1 to 3 do
begin
h:=a[i,j];
result:=result+h;
end;
h:=0;
end;
end;
end;
begin
for i:=1 to 3 do
for j:=1 to 3 do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
end.
Admin: Пользуемся тегами!
Заранее спасибо.