powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблемы с решением задач
18 сообщений из 93, страница 4 из 4
Проблемы с решением задач
    #37828433
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если не затруднит, помогите ещё с одним заданием
Даны два натуральных числа. Выяснить, в каком из них первая цифра больше. (Определить функцию для нахождения первой цифры натурального числа.)
это я сделал, вот код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Sub Command1_Click()
Dim n As Long, m As Long
    n = InputBox("Введите первое число")
    m = InputBox("Введите второе число")
    If (p(n) > p(m)) Then
        MsgBox ("В первом числе первая цифра больше")
    ElseIf (p(n) < p(m)) Then
        MsgBox ("Во втором числе первая цифра больше")
    Else
         MsgBox ("они равны")
    End If
End Sub
Private Function p(s As Long) As Long
    While s > 9
    s = s \ 10
    Wend
    p = s
End Function


теперь его надо модифицировать в
Даны два натуральных числа. Выяснить, в каком из них сумма цифр больше. (Определить функцию для нахождения суммы цифр натурального числа.)
если есть желание конечно, за ранее спасибо
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828460
BelowZeroTooCold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nordst,

функцию не знаю. я бы сделал так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
n = InputBox("Введите число")
dim x as long
dim symma as long
symma = 0
for x = 1 to len(n)
symma = symma + mid(n, x, 1)
next x


не проверял, но должно работать
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828461
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
натуральное_число1 = 123
For i = 1 To Len(натуральное_число1)
s = s + Val(Mid(натуральное_число1, i, 1))
Next
MsgBox s
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828463
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TpaBka,
BelowZeroTooCold,

спасибо большое конечно, но я дуб в ВБ , и надо через функцию делать
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828467
BelowZeroTooCold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nordstTpaBka,
BelowZeroTooCold,

спасибо большое конечно, но я дуб в ВБ , и надо через функцию делать len и mid - это как бэ функции...
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828473
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Private Function p(s As Long) As Long - это функция
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828477
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TpaBkaPrivate Function p(s As Long) As Long - это функция

это понятно, но как применить ваш код в саму функцию, я не знаю
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828478
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelowZeroTooCold len и mid - это как бэ функции...

а как их применить в моем коде не подскажите?
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828486
BelowZeroTooCold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nordstBelowZeroTooCold len и mid - это как бэ функции...

а как их применить в моем коде не подскажите?
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Function symma(s As Long) As Long
dim x as long
for x = 1 to len(n)
symma = symma + val(mid(s, x, 1))
next x
End Function
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828502
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelowZeroTooCold
Код: vbnet
1.
2.
3.
4.
5.
6.
Private Function symma(s As Long) As Long
dim x as long
for x = 1 to len(n)
symma = symma + val(mid(s, x, 1))
next x
End Function



тут ещё дело в том что len и mid мы не проходили и не пройдем, у нас поверхностный курс ВБ
может есть вариант по проще какой-то?
мне надо если даны например первое число 123 второе 456 должен выполнить 1+2+3 и 4+5+6 и сравнить решения и вывести сумма цифр второго числа больше, как-то так
и даже если так как Вы пишите
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Private Sub Command1_Click()
Dim n As Long, m As Long
    n = InputBox("Введите первое число")
    m = InputBox("Введите второе число")
    If (p(n) > p(m)) Then
        MsgBox ("В первом числе сумма цифр больше")
    ElseIf (p(n) < p(m)) Then
        MsgBox ("Во втором числе сумма цифр больше")
    Else
         MsgBox ("они равны")
    End If
End Sub
Private Function p(s As Long) As Long
    Dim x As Long
For x = 1 To Len(n)
p = p + Val(Mid(s, x, 1))
Next x
End Function


программа все равно не правильно что-то делает
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828536
BelowZeroTooCold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nordst,

For x = 1 To Len(n)
Код: vbnet
1.
For x = 1 To Len(s)

nordstмы не проходили и не пройдем крепкий косячок, видать, был. жизнь пролетает как одно мгновение, да?)
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828568
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BelowZeroTooColdnordst,

For x = 1 To Len(n)
Код: vbnet
1.
For x = 1 To Len(s)

nordstмы не проходили и не пройдем крепкий косячок, видать, был. жизнь пролетает как одно мгновение, да?)

спасибо большое, работает
на счет косячка, на функции была 1 лекция, и там нет функций mid и len. Вы же наверняка изучаете ВБ давно поэтому знаете. Но все равно спасибо большое Вы очень помогли
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828765
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет Помогите пожалуйста доработать код
само задание звучит так
В области n районов. Известны количество
жителей (в тыс. чел.) и площадь (в км2)
каждого района. Определить среднюю
плотность населения по области в целом.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  Private Sub Command1_Click()
Dim n As Integer , i As Integer , x
As Integer , s As Single, k As
Integer , m As Integer
n = InputBox( "Ввести количество
районов" )
For k = 1 To n
x = InputBox( "ввести количество
жителей" )
i = InputBox( "ввести площадь" )
m = x / i
s = s + m
Next
Text1.Text = s
End Sub 


сейчас код не совсем верный, нужно чтобы
программа рассчитала плотность населения
каждого района, потом их всех сложила и
разделила на количество районов
помогите пожалуйста, буду очень очень
благодарен, спасибо
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37828780
nordst,

может как то так, посмотри
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37830155
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
херегознаетnordst,

может как то так, посмотри

извините не мог раньше ответить, да все верно, больше спасибо Вам
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37830252
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я наверно надоел Вам всем уже, но будьте добры помочь с решением задачи, надеюсь она последняя
Заменить первые k элементов массива на те же элементы в обратном порядке.
т.е. мне дан произвольный массив например -8 5 2 7 9 3 -4, k я ввожу с клавиатуры, например 3, программа должна выдать мне измененный массив 2 5 -8 7 9 3 -4
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37830346
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то вроде этого:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
    k = Val(InputBox("Введите K (количество):"))
    If k < 1 Or k > n Then
        MsgBox k & " введено неверно"
        Exit Sub
    End If
    
    i = 1
    Do While i < k
        ai = A(i)
        A(i) = A(k)
        A(k) = ai
        i = i + 1
        k = k - 1
    Loop
...
Рейтинг: 0 / 0
Проблемы с решением задач
    #37831752
nordst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM,

я доделал, все сработало, спасибо большое
...
Рейтинг: 0 / 0
18 сообщений из 93, страница 4 из 4
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблемы с решением задач
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]