Program naconecto;vara:array [1..2,1..2] of integer;b:array [1..2,1..2] of integer;i,j,s,p:integer; BEGINrandomize;s:=0;p:=1;for i:=1 to 2 do begin for j:=1 to 2 do begin A[i,j]:=random(-100,100); B[i,j]:=random(-100,100); if (A[i,j] mod 3 = 0) and (A[i,j] mod 5 = 0) then begin s:=s+A[i,j]; end; if B[i,j]<0 then begin p:=p*B[i,j]; end; end; end;writeln('npou3BegeHue=',p);writeln('cyMMa=',s);readln;END.
судя по твоей программы ты мыслишь так, когда говорят двумерный массив, ты думаешь что это нужно 2 отдельных массива сделать (получается одномерных), а не 1 (получается двумерный) и суёшь их каждый отдельно в один массив (двумерный), так появляется твой один двумерный, состоящий из двух одномерных. Задача хочет чтобы было два двумерных, например A и B. Ну а чтобы не создавать им 2 элемента внутри, можно рандомные числа ввести, чтобы не мучится вводить. И смотрю храмает в районе записей A[j] и A[i,j]. Разница в том, что в двумерном массиве в Pascal'e запись A[j] когда двумерный массив у тебя выведет все значения у номера столбца (что явл. j например 1), это те что сверху вниз. A[i] выведет значения всех данных первой строки (если I = 1). Чтоб конкретно к яйчейке обратится, нужно указать A[i,j] например A[1,2] будет ячейка первой строки отступом и второго столбца (отступом сверху). Представлять можно таблицой.
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) var b: array of real; i, n,pn: integer; ps,op,min:real; begin write('Количество элементов массива :');readln(n); SetLength(b, n); // задаем длину массива min:=MaxReal; op:=1; writeln('Исходный массив:'); for i:=0 to n-1 do begin repeat write('Введите ',i+1,' число из ',n,' : ');readln(b[i]); until (b[i]<=5) and (b[i]>=-20); if (b[i]>0) and (round(b[i]/2)*2=b[i]) then begin ps +=b[i];pn+=1; end else if b[i]<0 then op *=b[i]; if b[i]<min then min:=b[i]; end; writeln; writeln('сумма положительных и четных элементов массива :',ps:0:3); writeln('Среднее положительных и четных элементов массива :',ps/pn:0:3); writeln('Произведение отрицательных элементов массива :',op:0:3); writeln('Минимальный элемент массива :',min); writeln('Отсортированный массив по убыванию :'); b.sorteddescending.println; end.
Тестовое решение: Количество элементов массива :8 Исходный массив: Введите 1 число из 8 : -18.5 Введите 2 число из 8 : 3.4 Введите 3 число из 8 : 4 Введите 4 число из 8 : -12 Введите 5 число из 8 : 2.2 Введите 6 число из 8 : -6.3 Введите 7 число из 8 : 2 Введите 8 число из 8 : 5
сумма положительных и четных элементов массива :6.000 Среднее положительных и четных элементов массива :3.000 Произведение отрицательных элементов массива :-1398.600 Минимальный элемент массива :-18.5 Отсортированный массив по убыванию : 5 4 3.4 2.2 2 -6.3 -12 -18.5
Задание №2 //PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016) var a: array of integer; i,n ,max,h,k: integer; begin write('Количество элементов массива :');readln(n); write('Число H :');readln(h); write('Число K :');readln(k); SetLength(a, n); // задаем длину массива max:=-MaxInt; writeln('Исходный массив:'); for i:=0 to n-1 do repeat write('Введите ',i+1,' число из ',n,' : ');readln(a[i]); if a[i]>max then max:=a[i]; until (a[i]<=7) and (a[i]>=-12); for i:=0 to n-1 do begin if (a[i]>h) and (a[i]mod k=0) then writeln('Число ', a[i],' больше ',h,' и кратно ',k); end; writeln('Максимальный элемент массива :',max); writeln('Отсортированный массив по возрастанию :'); a.sorted.println; end.
Тестовое решение: Количество элементов массива :8 Число H :-8 Число K :2 Исходный массив: Введите 1 число из 8 : -10 Введите 2 число из 8 : 6 Введите 3 число из 8 : -4 Введите 4 число из 8 : 3 Введите 5 число из 8 : 1 Введите 6 число из 8 : -1 Введите 7 число из 8 : -12 Введите 8 число из 8 : 4 Число 6 больше -8 и кратно 2 Число -4 больше -8 и кратно 2 Число 4 больше -8 и кратно 2 Максимальный элемент массива :6 Отсортированный массив по возрастанию : -12 -10 -4 -1 1 3 4 6
Program naconecto;vara:array [1..2,1..2] of integer;b:array [1..2,1..2] of integer;i,j,s,p:integer; BEGINrandomize;s:=0;p:=1;for i:=1 to 2 do begin for j:=1 to 2 do begin A[i,j]:=random(-100,100); B[i,j]:=random(-100,100); if (A[i,j] mod 3 = 0) and (A[i,j] mod 5 = 0) then begin s:=s+A[i,j]; end; if B[i,j]<0 then begin p:=p*B[i,j]; end; end; end;writeln('npou3BegeHue=',p);writeln('cyMMa=',s);readln;END.
судя по твоей программы ты мыслишь так, когда говорят двумерный массив, ты думаешь что это нужно 2 отдельных массива сделать (получается одномерных), а не 1 (получается двумерный) и суёшь их каждый отдельно в один массив (двумерный), так появляется твой один двумерный, состоящий из двух одномерных. Задача хочет чтобы было два двумерных, например A и B. Ну а чтобы не создавать им 2 элемента внутри, можно рандомные числа ввести, чтобы не мучится вводить. И смотрю храмает в районе записей A[j] и A[i,j]. Разница в том, что в двумерном массиве в Pascal'e запись A[j] когда двумерный массив у тебя выведет все значения у номера столбца (что явл. j например 1), это те что сверху вниз. A[i] выведет значения всех данных первой строки (если I = 1). Чтоб конкретно к яйчейке обратится, нужно указать A[i,j] например A[1,2] будет ячейка первой строки отступом и второго столбца (отступом сверху). Представлять можно таблицой.
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
var
b: array of real;
i, n,pn: integer;
ps,op,min:real;
begin
write('Количество элементов массива :');readln(n);
SetLength(b, n); // задаем длину массива
min:=MaxReal; op:=1;
writeln('Исходный массив:');
for i:=0 to n-1 do begin
repeat
write('Введите ',i+1,' число из ',n,' : ');readln(b[i]);
until (b[i]<=5) and (b[i]>=-20);
if (b[i]>0) and (round(b[i]/2)*2=b[i]) then begin
ps +=b[i];pn+=1;
end
else if b[i]<0 then op *=b[i];
if b[i]<min then min:=b[i];
end;
writeln;
writeln('сумма положительных и четных элементов массива :',ps:0:3);
writeln('Среднее положительных и четных элементов массива :',ps/pn:0:3);
writeln('Произведение отрицательных элементов массива :',op:0:3);
writeln('Минимальный элемент массива :',min);
writeln('Отсортированный массив по убыванию :');
b.sorteddescending.println;
end.
Тестовое решение:
Количество элементов массива :8
Исходный массив:
Введите 1 число из 8 : -18.5
Введите 2 число из 8 : 3.4
Введите 3 число из 8 : 4
Введите 4 число из 8 : -12
Введите 5 число из 8 : 2.2
Введите 6 число из 8 : -6.3
Введите 7 число из 8 : 2
Введите 8 число из 8 : 5
сумма положительных и четных элементов массива :6.000
Среднее положительных и четных элементов массива :3.000
Произведение отрицательных элементов массива :-1398.600
Минимальный элемент массива :-18.5
Отсортированный массив по убыванию :
5 4 3.4 2.2 2 -6.3 -12 -18.5
Задание №2
//PascalABC.NET (версия 3.1, сборка 1210 от 29.03.2016)
var
a: array of integer;
i,n ,max,h,k: integer;
begin
write('Количество элементов массива :');readln(n);
write('Число H :');readln(h);
write('Число K :');readln(k);
SetLength(a, n); // задаем длину массива
max:=-MaxInt;
writeln('Исходный массив:');
for i:=0 to n-1 do
repeat
write('Введите ',i+1,' число из ',n,' : ');readln(a[i]);
if a[i]>max then max:=a[i];
until (a[i]<=7) and (a[i]>=-12);
for i:=0 to n-1 do begin
if (a[i]>h) and (a[i]mod k=0) then
writeln('Число ', a[i],' больше ',h,' и кратно ',k);
end;
writeln('Максимальный элемент массива :',max);
writeln('Отсортированный массив по возрастанию :');
a.sorted.println;
end.
Тестовое решение:
Количество элементов массива :8
Число H :-8
Число K :2
Исходный массив:
Введите 1 число из 8 : -10
Введите 2 число из 8 : 6
Введите 3 число из 8 : -4
Введите 4 число из 8 : 3
Введите 5 число из 8 : 1
Введите 6 число из 8 : -1
Введите 7 число из 8 : -12
Введите 8 число из 8 : 4
Число 6 больше -8 и кратно 2
Число -4 больше -8 и кратно 2
Число 4 больше -8 и кратно 2
Максимальный элемент массива :6
Отсортированный массив по возрастанию :
-12 -10 -4 -1 1 3 4 6