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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.04.2016, 22:51   #1
gusevalelya
 
Регистрация: 03.04.2016
Сообщений: 4
По умолчанию функция возвратит true, если крайние цифры числа х чётные. Delphi

Помогите, пожалуйста.
1.Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-135,175]. Удалить из него все элементы, первая и последняя цифра которых четная.
2. Вставить число К1 после всех элементов, больших заданного числа, а число К2 – после всех элементов, кратных пяти.
3. Перенести первые k элементов в конец: a[k+1], a[k+2], .. ,a[n], a[2], .., a[k].
Вот код для первого пункта, помогите найти ошибки)

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
Randomize;
n:=strtoint(echislo.Text);
SetLength(M,n);
Emassiv.Text:=' ';
for I := 0 to n - 1 do
begin
  M[i]:=random(311)-135;   //массив заполняется случайными числами от -135 до 175
  emassiv.Text:=Emassiv.Text+' '+inttostr(M[i]);
end;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
i,
j,
k1,
k2:integer;
begin
if CheckBox1.Checked then
begin
i:=0;
Emassiv1.Text:=' ';
while i<=length(m) do
begin
  if (M[i]>99) or (M[i]<-99) then
  if ((M[i] div 100)mod 2 <>0) or ((M[i] mod 10) mod 2<>0)
  then    inc(i)
    else
    begin
      for j:=1 to length(m)-1  do
        m[j]:=m[j+1];
        dec(n);
        Setlength(m,length(m)-1);
    end;
    if ((M[i]>9) and (M[i]<100)) or((M[i]>-100) and(M[i]<-9)) then
       if ((M[i]div 10) mod 2<>0) or ((M[i] mod 10) mod 2<>0)
       then inc(i)
         else
         begin
           for j := 1 to length(m)-1  do
             m[j]:=m[j+1];
             dec(n);
        Setlength(m,length(m)-1);
         end;
     if ((M[i]>-10) and (M[i]<10)) then
       if ((M[i] mod 10) mod 2 <> 0)
       then   inc(i)
         else
         begin
          for j := 1 to length(m)-1  do
             m[j]:=m[j+1];
             dec(n);
        Setlength(m,length(m)-1);
         end;
   end;


for j:=0 to n-1  do
Emassiv1.Text:=Emassiv1.Text+' '+inttostr(M[j]);
end;

Последний раз редактировалось Аватар; 11.04.2016 в 22:54.
gusevalelya вне форума Ответить с цитированием
Старый 11.04.2016, 23:08   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Эта туева хуча логических выражений - вичисление факта чётности 1-й и последней цифр числа?

Чо, серьёзно?

Код:
// функция возвратит true, если крайние цифры числа х чётные.
function IsEvenEdges(x: integer): Boolean;
begin
  x:= abs(x);
  Result:= x and 1 = 0;
  if x < 10 then Exit;
  while x > 9 do x:= x div 10;
  Result:= Result and (x and 1 = 0); // что характерно :)
end;
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 11.04.2016 в 23:23.
min@y™ вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В последовательности чисел выдать на печать TRUE, если значение минимального числа меньше заданного числа К. Гарри Паскаль, Turbo Pascal, PascalABC.NET 6 08.11.2015 14:48
,Даны целые числа K и L. Если числа не равны, то заменить меньшее из них остатком от деления большего на меньшее, а если рав Proskurina Помощь студентам 3 25.03.2013 20:51
Чётные/Нечётные числа в C++ demon9992 Помощь студентам 2 30.03.2011 22:38
Цифры данного трёхзначного числа N являются членами арифметической прогрессии (Delphi) Аделинка Помощь студентам 3 27.03.2011 12:28
Удалить из массива все чётные числа! malishka ya@ Помощь студентам 4 28.05.2010 01:55