Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.01.2012, 20:42
Kate23 Kate23 вне форума
Прохожий
 
Регистрация: 22.01.2012
Сообщения: 5
Репутация: 10
По умолчанию массивы

Решите пожалуйста !
Заменить элементы массива с k1-го по k2-й на те же элементы в обратном порядке.
Ответить с цитированием
  #2  
Старый 22.01.2012, 21:20
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,026
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Kate23
Решите пожалуйста !
Заменить элементы массива с k1-го по k2-й на те же элементы в обратном порядке.

Как-то так:
Код:
var
  I, Buf : Integer;
  A : Array Of Integer;
begin
  For I := K1 To K2 Do
    Begin
      Buf := A[i];
      A[i] := A[K1 + K2- I];
      A[K1 + K2- I] := Buf;
    End;

Арифметику индексов не проверял.
Ответить с цитированием
  #3  
Старый 22.01.2012, 21:30
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Цитата:
Сообщение от lmikle
Арифметику индексов не проверял.
И массив забыл инициализировать.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #4  
Старый 22.01.2012, 22:44
Kate23 Kate23 вне форума
Прохожий
 
Регистрация: 22.01.2012
Сообщения: 5
Репутация: 10
По умолчанию

Заменить минимальный по модулю положительный элемент массива нулем.
Код:
var
Form1: TForm1;
N:integer;
M:array of integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i,max:integer;
begin
Randomize;
N:=Strtoint(Edit1.Text);
setlength(M,N);
Edit2.Text:=' ';
Edit3.Text:=' ';
for I := 0 to N-1 do
begin
M[i]:=Round(Sin(Random(10))*10);
Edit2.Text:=Edit2.Text+' '+inttostr(M[i]);
end;
max:=0;
for i:=1 to high(M) do
if abs(M[i])>abs(M[i-1]) then max:=i;
M[max]:=0;
begin
M[i]:=Abs(M[Low(M)]);
End;
for I := 0 to N-1 do
Edit3.Text:=Edit3.Text+' '+inttostr(M[i]);
end;
end.
Админ: Пользуемся тегами для оформления кода!

Не выполняет действие...

Последний раз редактировалось Admin, 23.01.2012 в 10:01.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter