Дан массив состоящий их 7 вещественных чисел. из всех положительных элементов массива вычесть элемент с номером k, из всех отрицательных n ( числа k и n вводятся с клавиатуры). нулевые элементы оставить без изменения.
Var a: array[1..7] of real; k, n: integer; begin readln(k, n); for i:=1 to 7 do begin read(a[i]); if a[i]<>0 then if a[i]>0 then a[i]:=a[i]-a[k] else a[i]:=a[i]-a[n]; write(a[i], ' '); end.
Задача №1 //PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016) Var n, i: integer; Begin writeln ('Введите число'); readln(n); writeln('Делители числа:'); for i := 1 to n div 2 do if (n mod i) = 0 then begin write(i,' '); end; End.
Задача №2 (алгоритм не очень шустрый, но работает и понятный) //PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016) var a, b, x, y, nod: integer;
begin writeln('Введите a,b'); readln(a, b); x := a;y := b; while x <> y do if x > y then x := x - y else y := y - x; nod := x; writeln('NOD(', a, ',', b, ')=', nod); end.
procedure nod( var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real; ); var a:array[1..6] of real; i : integer; begin dv1:=100; tr1:=100; pt1:=100; for i:= low(a) to high (a) do begin readln(a[i]); repeat if( (a[i] mod 2) =0) then begin a[i]:=a[i]/2; dv:=dv+1; end else if( ( a[i] mod 3)=0) then begin a[i]:=a[i]/3; tr:=tr+1; end else if ( ( a[i] mod 5)=0) then begin a[i]:=a[i]/5; pt:=pt+1; end;
untill(a=1); if dvif trif ptdv:=0; tr:=0; pt:=0; end; if dv1>0 then dv2:=dv1*2 else dv2:=1; if tr1>0 then tr2:=tr1*3 else tr2:=1; if pt1>0 then pt2:=pt1*5 else pt2:=1; nod:=dv2*tr2*pt2; writeln(nod); end; begin nod( dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 ); end.
k, n: integer;
begin
readln(k, n);
for i:=1 to 7 do begin
read(a[i]);
if a[i]<>0 then if a[i]>0 then a[i]:=a[i]-a[k] else a[i]:=a[i]-a[n];
write(a[i], ' ');
end.