//PascalABC.NET версия 3.2, сборка 1389 //Если программа не запускается, то обновите версию type s_b = record s_d: array[1..31, 0..9]of integer; s_o: array [0..9] of string; d_m: array [1..31] of byte; end;
var r, d: s_b;
begin r.s_o[0] := 'еда'; r.s_o[1] := 'zilie'; r.s_o[2] := 'oby4'; d.s_o[1] := 'myz'; d.s_o[2] := 'zina'; for var a := 1 to 31 do for var b := 0 to 9 do begin r.s_d[a, b] := 0; r.d_m[a] := a; d.s_d[a, b] := 0; d.d_m[a] := a; end;
1. Const N = 30; Var A:array[1..N] of integer; i,Max,kMax:integer; Begin Randomize; Write('Исходный массив:'); For i:= 1 to N do Begin A[i]:=random(N); Write(' ',A[i]); End; WriteLn; {Нахождение максимума} Max:=A[1]; For i:= 2 to N do if A[i]>Max then Max:=A[i]; WriteLn('Max = ',Max); {Подсчёт максимумов} kMax:=0; For i:= 1 to N do if A[i] = Max then kMax:=kMax+1; WriteLn('kMax = ',kMax); End.
2. Const N = 30; Var A:Array[1..N] of integer; i,SMax,iSMax:integer; Begin Randomize; Write('Исходный массив:'); For i:= 1 to N do Begin A[i]:=random(N); Write(' ',A[i]) End; WriteLn; iSMax:=1; SMax:=A[1]+A[2]+A[3]; For i:= 3 to N-2 do if A[i]+A[i+1]+A[i+2]>SMax then Begin iSMax:=i; SMax:=A[i]+A[i+1]+A[i+2]; End; WriteLn('Номера элементов, сумма которых максимальна: ',iSMax,', ',iSMax+1,', ',iSMax+2); WriteLn('Максимальная сумма = A[',iSMax,'] + A[',iSMax+1,'] + A[',iSMax+2,'] = ',SMax) End.
//Если программа не запускается, то обновите версию
type
s_b = record
s_d: array[1..31, 0..9]of integer;
s_o: array [0..9] of string;
d_m: array [1..31] of byte;
end;
var
r, d: s_b;
begin
r.s_o[0] := 'еда';
r.s_o[1] := 'zilie';
r.s_o[2] := 'oby4';
d.s_o[1] := 'myz';
d.s_o[2] := 'zina';
for var a := 1 to 31 do
for var b := 0 to 9 do
begin
r.s_d[a, b] := 0;
r.d_m[a] := a;
d.s_d[a, b] := 0;
d.d_m[a] := a;
end;
Println(r);
Println(d);
end.
покороче, убрано лишнее