2. Говорят, что мало - кто из современников Эйнштейна понимали его теорию. Макс Планк, утешая Эйнштейна, говорил: "Новые теории никогда не принимаются. Они или опровергаются, или их противники...". Закончите мысль.
{Используя следующий фрагмент программы, преобразуйте массив x по указанному ниже правилу, воспользовавшись массивом y как вс а) все отрицательные элементы массива x перенесите в его начало, а все остальные — в конец, сохраняя исходное взаимное расположение как среди отрицательных, так и среди остальных элементов; б) элементы массива х циклически сдвиньте на k позиций влево.} Var x, y: array [1..70] of real; k: 1..69; n, i,j, k1: integer; c :real; begin writeln('введите кол-во элементов массива'); readln(n); writeln('введите элементы массива'); for i:=1 to n do read(x[i]); k1:=0; {все отрицательные элементы массива x перенесите в начало массива y} for i:=1 to n do if x[i]<0 then begin k1:=k1+1; y[k1]:=x[i] end; {все не отрицательные элементы массива x переносим в конец массива y} for i:=1 to n do if x[i]>=0 then begin k1:=k1+1; y[k1]:=x[i] end;
for i:=1 to n do x[i]:=y[i]; for i:=1 to n do write(x[i]:8:2);
{б) элементы массива х циклически сдвиньте на k позиций влево.} writeln('введите k'); readln(k); for i:=1 to n do y[i]:=x[i]; for i:=1 to n-k do x[i]:=x[i+k]; for i:=1 to k do x[n-k+i]:=y[i]; for i:=1 to n do write(x[i]:8:2); end.
{В двухмерном массиве найдите количество и произведение не кратных 4 трехзначным элементов k-го столбца} var C:array [1..100,1..100] of integer; p: longint; kol, k:byte; {кол-во отрицательных эл-тов} N,M,i,j:byte; begin writeln('введите размерность массива (кол-во строк, столбцов)'); readln(N,M); writeln('введите элементы двумерного массива'); for i:=1 to N do for j:=1 to M do read(C[i,j]); writeln('введите номер столбца'); readln(k); kol:=0; P:=1; for i:=1 to N do if (C[i,k] mod 4<>0) and (C[i,k]>=100) and (C[i,k]<1000) then {не кратно 4, трехзначное} begin P:=P*C[i,k]; kol:=kol+1 end; writeln('kol=', kol:7); writeln('произведение=', P:5) end.
воспользовавшись массивом y как вс
а) все отрицательные элементы массива x перенесите в его начало,
а все остальные — в конец, сохраняя исходное взаимное
расположение как среди отрицательных, так и среди остальных элементов;
б) элементы массива х циклически сдвиньте на k позиций влево.}
Var
x, y: array [1..70] of real;
k: 1..69;
n, i,j, k1: integer;
c :real;
begin
writeln('введите кол-во элементов массива');
readln(n);
writeln('введите элементы массива');
for i:=1 to n do read(x[i]);
k1:=0;
{все отрицательные элементы массива x перенесите в начало массива y}
for i:=1 to n do
if x[i]<0 then
begin
k1:=k1+1;
y[k1]:=x[i]
end;
{все не отрицательные элементы массива x переносим в конец массива y}
for i:=1 to n do
if x[i]>=0 then
begin
k1:=k1+1;
y[k1]:=x[i]
end;
for i:=1 to n do
x[i]:=y[i];
for i:=1 to n do
write(x[i]:8:2);
{б) элементы массива х циклически сдвиньте на k позиций влево.}
writeln('введите k');
readln(k);
for i:=1 to n do y[i]:=x[i];
for i:=1 to n-k do x[i]:=x[i+k];
for i:=1 to k do x[n-k+i]:=y[i];
for i:=1 to n do write(x[i]:8:2);
end.
трехзначным элементов k-го столбца}
var
C:array [1..100,1..100] of integer;
p: longint;
kol, k:byte; {кол-во отрицательных эл-тов}
N,M,i,j:byte;
begin
writeln('введите размерность массива (кол-во строк, столбцов)');
readln(N,M);
writeln('введите элементы двумерного массива');
for i:=1 to N do
for j:=1 to M do
read(C[i,j]);
writeln('введите номер столбца');
readln(k);
kol:=0; P:=1;
for i:=1 to N do
if (C[i,k] mod 4<>0) and (C[i,k]>=100) and (C[i,k]<1000) then {не кратно 4, трехзначное}
begin
P:=P*C[i,k];
kol:=kol+1
end;
writeln('kol=', kol:7);
writeln('произведение=', P:5)
end.