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

Узнай цену своей работы

Формулировка задачи:

Дан массив целых чисел из n элементов, заполненный случайным образом числами из промежутка [-10,60]. Удалить из него все элементы, в которых последняя цифра четная, а само число делится на нее.
Листинг программы
  1. Private Sub Command2_Click()
  2. Picture1.Cls
  3. n = Val(Text1)
  4. ReDim A(1 To n)
  5. For i = 1 To n
  6. A(i) = Int(71 * Rnd - 10)
  7. Picture1.Print A(i);
  8. Next i
  9. i = 1
  10. Do While i <= n
  11. If A(i) <> -10 And A(i) <> 0 And A(i) <> 10 And A(i) <> 20 And A(i) <> 30 And A(i) <> 40 And A(i) <> 50 And A(i) <> 60 Then
  12. If (A(i) Mod 2 <> 0) And (A(i) Mod (A(i) Mod 10) <> 0) Then
  13. i = i + 1
  14. Else
  15. For j = i To n - 1
  16. A(j) = A(j + 1)
  17. Next j
  18. n = n - 1
  19. End If
  20. Loop
  21. End Sub
Вот на паскале эта программа Удалить из массива все элементы, в которых последняя цифра четная, а само число делится на нее переделать под бэйсик не смог, пришлось самому писать но не получается. Помогите кто чем может
Листинг программы
  1. [size="1"][color="grey"][I]Добавлено через 1 час 20 минут[/I][/color][/size]
  2. Private Sub Command2_Click()
  3. Picture1.Cls
  4. n = Val(Text1)
  5. ReDim A(1 To n)
  6. For i = 1 To n
  7. A(i) = Int(71 * Rnd - 10)
  8. Picture1.Print A(i);
  9. Next i
  10. Picture3.Cls
  11.  
  12. For i = 1 To n
  13. If A(i) <> -10 And A(i) <> 0 And A(i) <> 10 And A(i) <> 20 And A(i) <> 30 And A(i) <> 40 And A(i) <> 50 And A(i) <> 60 Then
  14. If ((A(i) Mod 2 = 0) And ((A(i) Mod (A(i) Mod 10)) = 0)) Then
  15. For j = i To n - 1
  16. A(j) = A(j + 1)
  17. Next j
  18. End If
  19. End If
  20. Next
  21. For j = 1 To n - 1
  22. Picture3.Print A(j);
  23. Next
  24. End Sub
Относительно работает
Но не уплотняет массив

Решение задачи: «Удалить из массива все элементы, в которых последняя цифра четная, а само число делится на нее»

textual
Листинг программы
  1. Private Sub Command2_Click()
  2. Picture1.Cls
  3. n = Val(Text1)
  4. ReDim a(1 To n)
  5. For i = 1 To n
  6.   a(i) = Int(71 * Rnd - 10)
  7.   Picture1.Print a(i);
  8. Next i
  9. Picture3.Cls
  10.  
  11.  
  12. For i = 1 To n
  13.   If a(i) Mod 10 Then
  14. '  If a(i) <> -10 And a(i) <> 0 And a(i) <> 10 And a(i) <> 20 And a(i) <> 30 And a(i) <> 40 And a(i) <> 50 And a(i) <> 60 Then
  15.    If ((a(i) Mod 2 = 0) And ((a(i) Mod (a(i) Mod 10)) = 0)) Then
  16.       n = n - 1
  17.       For j = i To n '- 1
  18.        a(j) = a(j + 1)
  19.       Next j
  20.     End If
  21.   End If
  22. Next
  23.  
  24. ReDim Preserve a(1 To n)
  25. For j = 1 To n
  26.   Picture3.Print a(j);
  27. Next
  28. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.308 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы