Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
barnie
0 / 0 / 0
Регистрация: 11.04.2016
Сообщений: 3
#1

Удалить из массива все элементы, первая и последняя цифра которых четная - Delphi

11.04.2016, 22:57. Просмотров 266. Ответов 5
Метки нет (Все метки)

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

Код:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2016, 22:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить из массива все элементы, первая и последняя цифра которых четная (Delphi):

Удалить из массива все элементы, в которых последняя цифра четная - Delphi
Дан массив целых чисел из п элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, в которых...

Удалить из массива все элементы, в которых последняя цифра четная - Delphi
Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, в которых...

Удалить из массива все элементы, первая цифра которых четная - Delphi
Задание: Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, первая...

Удалить из массива все элементы, первая цифра которых четная - Delphi
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, первая цифра...

Удалить из массива все элементы, в которых последняя цифра четная, а само число делится на нее - Delphi
Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . помогите, пожалуйста: удалить из него все...

Удалить из массива все элементы, в которых последняя цифра четная, а само число делится на нее - Delphi
Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, в которых...

5
ZfoxAK
459 / 444 / 88
Регистрация: 26.11.2012
Сообщений: 1,785
12.04.2016, 05:03 #2
Цитата Сообщение от barnie Посмотреть сообщение
помогите найти ошибки)
какие?
0
barnie
0 / 0 / 0
Регистрация: 11.04.2016
Сообщений: 3
12.04.2016, 19:55  [ТС] #3
Ну при запуске программа удаляет 2 и 3 число, а не те, в которых первая или последняя цифра четная.
0
NIKOLAYY
817 / 717 / 160
Регистрация: 22.09.2012
Сообщений: 4,985
12.04.2016, 23:07 #4
По идее если четная то она на 2 делтся. Вот ее и удаляй.
0
ZfoxAK
459 / 444 / 88
Регистрация: 26.11.2012
Сообщений: 1,785
13.04.2016, 04:23 #5
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Button2Click(Sender: TObject);
var s:string; i:integer;
begin
for i:=0 to High(M) do
begin
s:=IntToStr(Abs(M[i]));
if s[1] in ['2', '4', '6', '8'] then
if (M[i] Mod 2) = 0 then  //у числа первая и последняя цифра четные
end;
end;
0
barnie
0 / 0 / 0
Регистрация: 11.04.2016
Сообщений: 3
13.04.2016, 17:24  [ТС] #6
Все равно не получается, программа вообще ничего не делает(
0
13.04.2016, 17:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2016, 17:24
Привет! Вот еще темы с ответами:

Удалить из массива все элементы, в записи которых последняя цифра равна 0 - Delphi
Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, в записи которых...

Удалить из массива все элементы, в записи которых есть цифра 0 - Delphi
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, в записи...

Удалить из одномерного массива все элементы, в записи которых есть цифра 5 - Delphi
1. Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка . Удалить из него все элементы, в записи...

Удалить из массива элементы, у которых первая и вторая цифры одинаковые - Delphi
Я извиняюсь кто ни будь может мне в этом омочь? Нам просто даже этого не объяснили((( 1. Дан массив целых чисел из n элементов,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru