Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/29: Рейтинг темы: голосов - 29, средняя оценка - 4.76
1 / 1 / 0
Регистрация: 15.09.2013
Сообщений: 15

Четные, нечетные значения одномерного массива

28.10.2013, 12:05. Показов 5576. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И снова здравствуйте!)
Задачка простенькая, но у меня почему-то не считает. не могу понять, где ошибка.
Помогите, пожалуйста.
Условие:
Дан массив целых чисел А. Четные значения элементов массива записать в массив В, нечетные — в массив С. Подсчитать количество тех и других.
Мой код:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub Command1_Click()
Dim a(), b(), c() As Double
 
n = Text1.Text
ReDim a(1 To n)
ReDim b(1 To n)
ReDim c(1 To n)
Picture1.Cls
Picture2.Cls
Picture3.Cls
Picture4.Cls
Picture5.Cls
Randomize
For i = 1 To n
a(i) = Int(21 * Rnd - 10)
Picture5.Print a(i);
If (a(i) Mod 2 = 0) Then a(i) = b(i)
If (a(i) Mod 1 = 0) Then a(i) = c(i)
Picture1.Print b(i);
Picture2.Print c(i);
Next
End Sub
Добавлено через 36 минут
Переписал код немного в другом виде, все считает, но сам код кривой( Хотелось бы увидеть правильное решение
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.10.2013, 12:05
Ответы с готовыми решениями:

Заполнение матрицы, чётные значения эл-тов = единица, нечётные = ноль
Разработать информационную технологию, позволяющую заменить чётные значения элементов матрицы на единицу, а нечетные – на нуль....

Даны два массива, переписать нечетные в четные
Народ, выручите пожалуйста, совсем запарился с Visual Basic (( Даны два массива R и S. Элементы массива R, имеющие нечетные индексы,...

Поделить на два все четные элементы одномерного массива, содержащего 8 элементов
2) Поделить на два все четные элементы одномерного массива, содержащего 8 элементов. Значения элементов массива вводятся с клавиатуры....

2
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
28.10.2013, 12:24
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Как то так -
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Command1_Click()
Dim a()as long, b()as long, c()as long 'Дан массив целых чисел а не As Double
dim ic as long,ib as long
n = Text1.Text
ReDim a(1 To n)
ReDim b(1 To n)
ReDim c(1 To n)
Picture1.Cls
Picture2.Cls
Picture3.Cls
Picture4.Cls
Picture5.Cls
Randomize
For i = 1 To n
  a(i) = Int(21 * Rnd - 10)
  Picture5.Print a(i);
  If (a(i) Mod 2 = 0) Then ib=ib+1: b(ib)=a(i):Picture1.Print b(ib);
  If (a(i) Mod 2 = 1) Then iс=iс+1: с(iс)=a(i):Picture2.Print c(ic);
  'Picture1.Print b(i);
  'Picture2.Print c(i);
Next
redim preserve b(1 to ib),c(1 to ic)
End Sub
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38161 / 21096 / 4306
Регистрация: 12.02.2012
Сообщений: 34,683
Записей в блоге: 14
28.10.2013, 12:40
Лучший ответ Сообщение было отмечено The trick как решение

Решение

Остаюсь верным себе:

Visual Basic
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
Dim pb As Integer
Dim pc As Integer
 
Sub sortEvOd(A() As Integer, i As Integer, B() As Integer, C() As Integer)
 
    If (i > UBound(A, 1)) Then
       Exit Sub
    Else
       If (A(i) Mod 2) = 0 Then
          pb = pb + 1
          B(pb) = A(i)
          sortEvOd A(), i + 1, B(), C()
       Else
          pc = pc + 1
          C(pc) = A(i)
          sortEvOd A(), i + 1, B(), C()
       End If
    End If
 
End Sub
 
Sub Test()
 
Dim AA(1 To 30) As Integer
Dim BB(1 To 30) As Integer
Dim CC(1 To 30) As Integer
 
    Randomize
 
    For i% = 1 To 30
        AA(i%) = Rnd * 10
    Next i%
    
    sortEvOd AA(), 1, BB(), CC()
    
    For i% = 1 To pb
        Debug.Print "B("; i%; ")="; BB(i%)
    Next i%
 
    For i% = 1 To pc
        Debug.Print "C("; i%; ")="; CC(i%)
    Next i%
 
End Sub
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.10.2013, 12:40
Помогаю со студенческими работами здесь

Элементы одномерного массива, которые больше среднего значения массива, заменить на 0
Элементы одномерного массива размером 7, которые больше среднего значения массива, заменит на 0. Помогите пожалуйста составить программу...

Четные и нечетные элементы одномерного массива.
Задан массив из 8 целых чисел. Определите, каких элементов в массиве больше – четных или нечетных. помогите пожалуйста

Поменять местами четные и нечетные элементы одномерного массива
Помогите решить задачу в Delphi Задача В заданном одномерном массиве размерности N (массив заполнен произвольно). Поменять...

Найти четные и нечетные элементы одномерного массива и поменять их местами
найти четные и нечетные элементы одномерного массива и поменять их местами

Четные элементы одномерного массива возвести в квадрат, а нечетные удвоить
Дан одномерный массив. Четные элементы массива возвести в квадрат, а нечетные удвоить. C++


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru