Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2019, 15:54   #1
123Василий
Пользователь
 
Регистрация: 21.01.2019
Сообщений: 19
По умолчанию Массивы

Недавно начал изучать Delphi. Всё шло хорошо, пока не встретился с этим заданием:
"Даны два массива А и В по 20 элементов в каждом. Поменять местами
элементы массива А, имеющие нечетный индекс, на элементы массива В,
имеющие четный индекс, и найти минимальные элементы массивов А и В."
Вроде бы легко, а застрял на моменте "обмена" элементов двух массивов.
Вот что я никидал, если можно это так назвать
Код:
procedure TForm1.btn1Click(Sender: TObject);
var a1:array of Integer; a:array of Integer;
i,n,k,min1,min,t,e:integer;
begin



     n:=StrToInt(edt1.Text);
     Randomize;
     SetLength(a1,n);
     for i:=0 to (n-1) do
     begin
     a1[i]:=Random(50);
     mmo1.Lines.Add(IntToStr(a1[i]));
     end;

     k:=StrToInt(edt2.Text);
     SetLength(a,k);
     for i:=0 to (k-1) do
     begin
     a[i]:=Random(50);
     mmo3.Lines.Add(IntToStr(a[i]));
     end;
     min1:=a1[0];
     min:=a[0];
     for i:=1 to n do if (i mod 2)>0 then  t:=a1[i-1];
     for i:=1 to n-1 do if (i mod 2)>0 then begin e:=a[i]; 
    mmo2.Lines.Add(IntToStr(e)); end;
    

     for i:=1 to Length(a1)-1 do if min1>a1[i] then min1:=a1[i];
     for i:=1 to Length(a)-1 do if min>a[i] then min:=a[i];
     lbl1.caption:=('Минимальный элемент ПЕРВОГО массива: '+(IntToStr(min1)+',   ')+'ВТОРОГО массива: '+inttostr(min));

  
  end;

end.
123Василий вне форума Ответить с цитированием
Старый 23.01.2019, 16:01   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Зачем каждый раз делить? Вам в школе не рассказывали, что можно вычислить проще 2*i и 2*i + 1? И тогда задача обмена тривиальна: в цикле t := A[2*i+1]; A[2*i+1] := B[2*i]; B[2*i] := t;
p51x вне форума Ответить с цитированием
Старый 23.01.2019, 16:22   #3
123Василий
Пользователь
 
Регистрация: 21.01.2019
Сообщений: 19
По умолчанию

Но вот тут мне надо вывести в мемо. Я явно что-то делаю не так..
Код:

     t := A1[2*i+1]; A1[2*i+1] := a[2*i]; a[2*i] := t;
     mmo2.Lines.Add(IntToStr(t));
Там надо бы вводить цикл, но так выдает ошибку
Код:
for i:=0 to n do
     t := A1[2*i+1]; A1[2*i+1] := a[2*i]; a[2*i] := t;
     mmo2.Lines.Add(IntToStr(t));
123Василий вне форума Ответить с цитированием
Старый 23.01.2019, 16:35   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Цитата:
Сообщение от 123Василий Посмотреть сообщение
Но вот тут мне надо вывести в мемо.
Что надо вывести? Зачем вы t пытаетесь выводить?

Цитата:
Сообщение от 123Василий Посмотреть сообщение
Там надо бы вводить цикл, но так выдает ошибку
Угу, а бегин/энд используют только трусы.
p51x вне форума Ответить с цитированием
Старый 23.01.2019, 16:52   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

У Василия стойкая нелюбовь к бегин/энд'ам
http://programmersforum.ru/showthread.php?t=326126
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
написать программу массивы (C++) - Даны два массива, скопировать эти массивы в 3-й результирующий (размером 10 элементов) так, что Саша1990 Помощь студентам 1 02.02.2015 16:03
Одномерные массивы, двумерные массивы, строки Sand093 C++ Builder 11 20.05.2012 21:48
Двумерные массивы(матрица) 2)Строковые массивы(строки): 3)Структуры nuriyat Помощь студентам 1 21.01.2012 16:16
Двумерные массивы(массивы указателей на массивы) krytishka99 Помощь студентам 1 29.12.2011 19:51
Даны одномерные массивы А и В. Сформировать массивы, состоящие из элемент LyaLya Помощь студентам 15 20.12.2009 14:12