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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2017, 13:05   #1
weeping angel
 
Регистрация: 15.05.2017
Сообщений: 7
По умолчанию Заполнить массив a числами. Получить новый массив b,

Код:
procedure TForm1.Button1Click(Sender: TObject);
const
  n = 5;
var
i:integer;
a: array [1..n] of integer;
begin

for i:=1 to n do
a[i]:=strtoint(memo2.text[i,1]);
for i:=1 to  n do
 if (a[i] mod 2)<>0 then a[i]:=a[i]*2;

for i:=1 to n-1 do
memo1.Text:=memo1.Text+inttostr(a[i])+', ';
memo1.Text:=memo1.Text+inttostr(a[n]);
end;
Выдает ошибку Array type required, помогите исправить

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 18.05.2017 в 13:25.
weeping angel вне форума Ответить с цитированием
Старый 18.05.2017, 13:28   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ошибка тут:
Цитата:
Сообщение от weeping angel Посмотреть сообщение
memo2.text[i,1]
А это что Вы таким образом пытаетесь получить?

какую задачу должен решить цикл заполнения массива?
и где проверка, что в Memo2 есть нужно число цифр (именно цифр, а не чисел)?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.05.2017, 13:35   #3
weeping angel
 
Регистрация: 15.05.2017
Сообщений: 7
По умолчанию

Заполнить одномерный целочисленный массив a числами, введѐнными с клавиатуры в поле Memo1. Получить новый массив b, удвоив нечѐтные элементы массива a, чѐтные оставить без изменения. Полученный массив b отобразить в поле Memo2.

Задача такая, но до этого в мемо 1 пытался поставить stringgrid, не получилось, поэтому сейчас по условиям мемо 1 это мемо 2, и наоборот)
weeping angel вне форума Ответить с цитированием
Старый 18.05.2017, 13:45   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от weeping angel Посмотреть сообщение
но до этого в мемо 1 пытался поставить stringgrid, не получилось,
ну, так может быть, стоит разобраться и сделать именно со StringGrid?

Цитата:
Сообщение от weeping angel Посмотреть сообщение
Заполнить одномерный целочисленный массив a числами, введѐнными с клавиатуры в поле Memo1.
для простоты заставим пользователя вводить числа в Memo1 строго так - каждое число - на отдельной строке.

тогда сработает такой код:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, n : integer;
  a, b: array of integer;
   
begin
  SetLength(a, Memo1.Lines.Count);

  n := 0;

  for i:=0 to Memo1.Lines.Count-1 do 
     if Trim(Memo1.Lines[i])<>'' then begin
          a[n] := StrToInt( Trim(Memo1.Lines[i]) );
          inc(n);
     end;

  if n=0  then begin ShowMessage('Введите числа в Memo1'); exit end;

  SetLength(b, n);

  for i:=0 to n-1 do
    if odd(a[i]) then b[i] := 2*a[i]
       else b[i] := a[i];

  memo2.Lines.Clear;
  for i:=0 to n-1 do
       memo2.Lines.Append(IntToStr(b[i]));

end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать массив. Получить новый массив как произведение каждого элемента на заданное число. Найти максимальное (на Liberty Basic) MickeyAttac Помощь студентам 2 02.12.2014 22:55
Заполнить массив случайными числами и выделить в другой массив все числа, которые встречаются более darkland Паскаль, Turbo Pascal, PascalABC.NET 2 04.03.2014 20:44
Заполнить двумерный массив числами Hayaname Общие вопросы по Java, Java SE, Kotlin 1 28.12.2012 20:27
Заполнить массив случайными числами. Fender92 Паскаль, Turbo Pascal, PascalABC.NET 4 19.03.2011 17:05
Заполнить массив случайными числами forumu Общие вопросы Delphi 13 03.12.2007 22:11