![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите пожалуйста!!!В чем ошибка? Заменить последний отрицательный элемент массива на модуль первого элемента массива.
Код:
var
Form1: TForm1;
N:integer;
M:array of integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
Randomize;
N:=Strtoint(Edit1.Text);
setlength(M,N);
Edit2.Text:=' ';
for I := 0 to N-1 do
begin
M[i]:=Round(Sin(Random(10))*10);
M[n-1]<=0;
Edit2.Text:=Edit2.Text+' '+inttostr(M[i]);
end;
begin
m[n-1]:=abs( m[1]);
Edit3.Text:=Edit3.Text+' '+inttostr(M[i]);
end;
end;
end.Последний раз редактировалось Admin, 21.01.2012 в 16:52. |
|
#2
|
|||
|
|||
|
свои предположения есть?
|
|
#3
|
|||
|
|||
|
Как записать что последний элемент массива отрицательный?
|
|
#4
|
||||
|
||||
|
Цитата:
Mas[Length(Mas)-1]:=-Mas[Length(Mas)-1]; |
| Этот пользователь сказал Спасибо DelphiM0ZG за это полезное сообщение: | ||
999 (21.01.2012)
| ||
|
#5
|
|||
|
|||
|
PHP код:
|
| Этот пользователь сказал Спасибо Pyro за это полезное сообщение: | ||
999 (21.01.2012)
| ||
|
#6
|
|||
|
|||
|
Заменить последний отрицательный элемент массива на модуль первого элемента массива.
Код:
var
Form1: TForm1;
N:integer;
M:array of integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
Randomize;
N:=Strtoint(Edit1.Text);
setlength(M,N);
Edit2.Text:=' ';
Edit3.Text:=' ';
for I := 0 to N-2 do
begin
M[i]:=Round(Sin(Random(10))*10);
Edit2.Text:=Edit2.Text+' '+inttostr(M[i])
end;
for i := n-1 downto 0 do
if m[i] < 0 then break;
Edit2.Text:=Edit2.Text+' '+inttostr(M[i]);
end;
M[n-1]:=abs(m[1]);
Edit3.Text:=Edit3.Text+' '+inttostr(M[i]);
endПоследний раз редактировалось lmikle, 21.01.2012 в 20:35. |
|
#7
|
|||
|
|||
|
последний отрицательный, это значит, что тебе надо найти этот элемент. Неизвестно, на каком месте он находится.
Код:
var
M : Array of Integer;
I : Integer;
begin
...
For I := High(M) DownTo Low(M) Do
If M[i] < 0 Then
Begin
M[i] := Abs(M[Low(M)]);
Break;
End;
...
end;PS. Не забываем про теги и лучше форматируй код, тебе же проще будет в нем разбираться. |
| Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
999 (21.01.2012)
| ||
|
#8
|
|||
|
|||
|
Разделить все элементы массива с нечетными номерами на последний элемент (последний элемент отличен от 0).
Как записать условие?в чем тут ошибка? var Form1: TForm1; N:integer; M:array of integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin Randomize; N:=Strtoint(Edit1.Text); setlength(M,N); Edit2.Text:=' '; Edit3.Text:=' '; for I := 0 to N-2 do begin M[i]:=Round(Sin(Random(10))*10); end; for i := n-1 to n-1 do if M[i]=0 then begin m[i]:=Round(Sin(Random(10))*10); end; for i := 0 to n - 1 do Edit2.Text:=Edit2.Text+' '+inttostr(M[i]); end; for i := 0 to n- 1 do if i mod 2 <>0 then begin M[i]:= M[i]/M[n-1]; end; Edit3.Text:=Edit3.Text+' '+inttostr(M[i]); end; end. Последний раз редактировалось 999, 22.01.2012 в 09:25. |
|
#9
|
|||
|
|||
|
Дан двумерный массив размером n*m, заполненный случайным образом.
Заменить минимальный по модулю элемент каждого столбца на противоположный Код:
var
Form3: TForm3;
i,j,n,m,min:Integer;
a:array [0..30,0..30] of integer;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
Randomize;
n:=strtoint(Edit1.Text);
m:=strtoint(Edit2.Text);
for i:=0 to n-1 do
for j:=0 to m-1 do
a[i,j]:=Round(Sin(Random(100))*100);
StringGrid1.RowCount:=n+1;
StringGrid1.RowCount:=m+1;
With StringGrid1 do
begin
i:=0;
for J := 1 to RowCount do
Cells[i,j]:=Inttostr(j);
j:=0;
for i:= 1 to ColCount do
Cells[i,j]:=Inttostr(i);
end;
With StringGrid1 do
for i:= 1 to n do
for j:=1 to m do
Cells[i,j]:=inttostr(a[i-1,j-1]);
for i:= 1 to n do
begin
min:=abs(a[1,1]);
for I := 0 to n-1 do
if abs(a[i,j])< abs(min) then min:=a[i,j];
end;
for i:= 1 to n do
for j:=1 to m do
begin
a[i,j]:=-a[i,j];
end;
With StringGrid2 do
begin
i:=0;
for J := 1 to RowCount do
Cells[i,j]:=Inttostr(j);
j:=0;
for i:= 1 to ColCount do
Cells[i,j]:=Inttostr(i);
end;
With StringGrid2 do
for i:= 1 to n do
for j:=1 to m do
Cells[i,j]:=inttostr(a[i-1,j-1]);
end;
end. |