Заменить минимальный по модулю положительный элемент нулём. Заменить элементы с К1 по K3 на обратный. Из элементоа массива A сформировать массив D того же размера по правилу: первые 10 элеметов I, остальные Di=Ai-i
Для меня проблематично сделать всё это в одной задаче. По отдельности каждое предложение есть. Совместить не могу. 1)var a:array [1..10] of integer; i,min,n,z:integer; begin repeat writeln ('Введите размер массива'); readln (n); until n<=10; min:=32767; z:=0; for i:=1 to n do begin writeln ('введите',i,'элемент'); readln (a[i]); if a[i]>0 then begin if min>a[i] then begin min:=a[i]; z:=i; end; end; end; a[z]:=0; for i:=1 to n do begin writeln ('элемент массива n ',i,' = ',a[i]); end; readln; end.
2)var a:array [1..10] of integer; i,k,n:integer; begin repeat writeln ('Введите размер массива n'); readln (n); until n<=10; k:=3; for i:=1 to n do begin writeln ('введите',i,''); readln (a[i]); end; for i:=1 to k do begin a[i]:=a[i]*-1; end; for i:=1 to n do begin writeln ('элемент массива n ',i,' = ',a[i]); end; readln; end.
3) var a:array [1..20] of integer; d:array [1..20] of integer; i,n:integer; begin writeln ('Введите размер массива n'); readln (n); for i:=1 to n do begin writeln ('введите',i,''); readln (a[i]); end; writeln('элементы нового массива'); for i:=1 to n do begin if i<=10 then d[i]:=i else d[i]:=a[i]-i; writeln (d[i],' '); end; readln; end.
Sub Alg_1() xN = -5: xK = 5: h = 0.1 x = xN: i = 1 Do While x <= xK y = 3 * x ^ 2 - 6 * x + 5 Cells(i, 1) = x: Cells(i, 2) = y x = x + h: i = i + 1 Loop End Sub
Во вложении файл с рабочей книгой MS Excel 2003. Макрос на листе 1.
Теперь о Вашей ошибке
Dim xN, xK, x As Integer Dim y, h As Single xN = -5 ... h = 0.1 x = xN ... x = x + h
Такое описание означает, что xN, xK будут типа Variant, х - типа Integer. y тоже будет типа Variant, h - типа Single. При выполнении опeратора x=x+h целочисленное x сначала увеличится на 0.1, а затем дробная часть будет отброшена. Поэтому х постоянно будет равен xN и цикл станет бесконечным.
Для меня проблематично сделать всё это в одной задаче.
По отдельности каждое предложение есть.
Совместить не могу.
1)var a:array [1..10] of integer; i,min,n,z:integer;
begin
repeat
writeln ('Введите размер массива');
readln (n);
until n<=10;
min:=32767;
z:=0;
for i:=1 to n do
begin
writeln ('введите',i,'элемент');
readln (a[i]);
if a[i]>0 then begin
if min>a[i] then begin min:=a[i]; z:=i;
end;
end;
end;
a[z]:=0;
for i:=1 to n do
begin
writeln ('элемент массива n ',i,' = ',a[i]);
end;
readln;
end.
2)var a:array [1..10] of integer; i,k,n:integer;
begin
repeat
writeln ('Введите размер массива n');
readln (n);
until n<=10;
k:=3;
for i:=1 to n do
begin
writeln ('введите',i,'');
readln (a[i]);
end;
for i:=1 to k do
begin
a[i]:=a[i]*-1;
end;
for i:=1 to n do
begin
writeln ('элемент массива n ',i,' = ',a[i]);
end;
readln;
end.
3) var a:array [1..20] of integer;
d:array [1..20] of integer;
i,n:integer;
begin
writeln ('Введите размер массива n');
readln (n);
for i:=1 to n do
begin
writeln ('введите',i,'');
readln (a[i]);
end;
writeln('элементы нового массива');
for i:=1 to n do
begin
if i<=10 then d[i]:=i else d[i]:=a[i]-i;
writeln (d[i],' ');
end;
readln;
end.