Const m=5; n=8; var b:array[1..m,1..n] of integer; i,j,ko,sp:integer; begin Randomize; ko:=0; sp:=0; for i:=1 to m do for j:=1 to n do begin b[i,j]:=Random(51)-20; if b[i,j]>0 then sP:=sp+b[i,j] else if b[i,j]<0 then Inc(ko) end; Writeln('Сумма положительных элементов равна ',sp); Writeln('Количество отрицательных элементов равно ',ko); Writeln('Исходный массив'); for i:=1 to m do begin for j:=1 to n do Write(b[i,j]:4); Writeln end end.
Пример работы программы Сумма положительных элементов равна 382 Количество отрицательных элементов равно 13 Исходный массив -6 13 10 2 -14 14 28 28 5 7 26 -8 26 24 7 27 15 -9 -13 28 4 12 9 -12 -2 -9 20 10 -16 8 -10 2 30 -10 -9 -10 2 2 0 23
//Не смотрел Ваш код, просто моё видение решения задачи //PascalABC.NET 3.2 сборка 1318
Var t:text; x,y,i,j:integer; s:string; c:char; world:array[1..4] of char=('E','S','W','N'); begin j:=1; c:='E'; assign(t,'input.txt'); reset(t); read(t,s); close(t); i:=1; while s[i]<>'S' do begin if s[i]='R' then begin if c='N' then j:=1 else inc(j); c:=world[j]; end; if s[i]='L' then begin if c='E' then j:=4 else dec(j); c:=world[j]; end; if s[i]='F' then case c of 'E':inc(x); 'S':dec(y); 'W':dec(x); 'N':inc(y); end; inc(i); end; assign(t,'output.txt'); rewrite(t); write(t,x,' ',y); close(t); end.
Пример содержимого input.txt: FLFS Пример содержимого output.txt: 1 1
1.
program k1k2;
var i,a,k1,k2:integer;
begin
k1:=0;
k2:=0;
randomize;
for i:=1 to 10 do
begin
write ('Введите ',i,' число ');
readln (a);
if a mod 2 = 0 then k2:=k2+1 else k1:=k1+1
end;
writeln;
writeln ('Было введено ',k2,' чётных и ',k1,' нечётных чисел')
end.
2.
program TabUmnkpkn;
var x,y,i,z,kp,kn:integer;
begin
kp:=0;
kn:=0;
randomize;
for i:=1 to 10 do
begin
x:=random(8)+2;
y:=random(8)+2;
writeln ('Сколько будет ',x,' * ',y);
read (z);
if z=x*y then
begin
kp:=kp+1;
writeln ('Правильно!')
end
else
begin
kn:=kn+1;
writeln ('Неправильно! ',x,' * ',y,' = ',x*y)
end
end;
writeln ('Было ',kp,' правильных и ',kn,' неправильных ответов')
end.
3.
program TabUmnO;
var x,y,i,z,kp:integer;
begin
kp:=0;
randomize;
for i:=1 to 10 do
begin
x:=random(8)+2;
y:=random(8)+2;
writeln ('Сколько будет ',x,' * ',y);
read (z);
if z=x*y then
begin
kp:=kp+1;
writeln ('Правильно!')
end
else writeln ('Неправильно! ',x,' * ',y,' = ',x*y)
end;
writeln;
if kp=10 then writeln ('Оценка 5');
if (kp<=9) and (kp>=7) then writeln ('Оценка 4');
if (kp<=6) and (kp>=4) then writeln ('Оценка 3');
if kp<=3 then writeln ('Оценка 2')
end.