Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Задачи на Visual Basic (VB).

Автор: AndVGri
Дата сообщения: 24.04.2007 04:36
lapulechka

Цитата:
первый из максимальных

Спроси у препода, что это?

Цитата:
Label1 = «Размерность»
Label2 = «Массив»
Label1 = «Размерность»
Label1 = «Максимальное число»

Label1 - не жалко?

Цитата:
Dim a() As Single

А почему Single - массив же целых чисел?

Автор: ROWDYEST
Дата сообщения: 24.04.2007 16:23
слушайте люди...

я только нашел книгу... по изучению визуал басик..
к сожалению она оказалась без диска...=(
а
MICROSOFT VISUAL SUDIO.NET
МНЕ НЕ НАЙТИ....В ИНЕТЕ...

ЕСЛИ ОН ГДЕ ТО ЕСТЬ...
ДАЙТЕ ПОЖАЛУЙСТА ССЫЛКУ...

ЕСЛИ НЕТ ТО...
(ПРОСТО СООБЩИТЕ...PLZ...)

Автор: AndVGri
Дата сообщения: 24.04.2007 16:26
ROWDYEST
В Warez, только это уже не VB, а VB.NET 200x
Автор: jONES1979
Дата сообщения: 24.04.2007 18:58
ROWDYEST на DVD к журналу Хакер в конце того года выходили Express версии. Поспрашивай у знакомых. Весят они порядка 200-300 метров. Распространяются бесплатно. Если есть возможность и желание слить - то ищи на сайте microsoft
Автор: ROWDYEST
Дата сообщения: 24.04.2007 19:46
jONES1979


ммм..да...в Эстонии журналов Хакер нет и не было...=(
тем более у знакомух....ХА..

на сайте микрософта находил....
но что то это не то по моему...

Microsoft Visual Web Developer 2005 Express Edition


там вот такого добра до ку4е а для нови4ка ...(0_0)...
..не нашел...~~~~


AndVGri
спасибо...
ща посмотрю...


Добавлено:
AndVGri

неее.. что то не найти...
дай ссылку...plz...
Автор: dneprcomp
Дата сообщения: 24.04.2007 21:19
ROWDYEST
Visual Basic 2005 Express Edition
SQL Server 2005 Express Edition
Manual Installation Instructions for Express Editions
Visual Studio Express Editions
.NET Framework 2.0
Windows Installer 3.1


Автор: ROWDYEST
Дата сообщения: 24.04.2007 21:30
xaxaxaxa...
ну спассибо...
Автор: lapulechka
Дата сообщения: 24.04.2007 21:53
AndVGri
с
Цитата:
первый из максимальных
я разобралась это например если идёт массив
2 3 8 5 8 7 4 8 Восьмёрка максимальное число, но оно повторяется несколько раз, а первое из максимальных это первая 8 и её надо двигать вправо в конец.
Label3 = «Размерность»
Label4 = «Максимальное число»

преподша подкинула такую бодягу

If a(i)> Max Then Max = a(i):k=i
Next i
For j = k to n
d = a(n)
For i = n to 1 Step -1
a(i) = a(i-1)
Next i
a(1) = d
Next j

Впихивала в свою задачку - ошибки выдаёт. Меняла всё - всё равно хрючет.

Автор: AndVGri
Дата сообщения: 25.04.2007 03:57
lapulechka
А ты всё правильно у неё списала?

Цитата:
For j = k to n

вот это объявление цикла не верно, так как будет на один раз больше прокручивать массив, правильнее
For j = 1 To (n - k) или For j = k + 1 To n или For j = k To n - 1 (выбирай, как нравиться )

Цитата:
ошибки выдаёт

Так какие - приведи? И код в этом случае выложи, только не ленись - отформатируй, читать же не возможно.


Добавлено:
ROWDYEST
Тема в Warez по Visual Studio.Net
Автор: IZV
Дата сообщения: 25.04.2007 11:55
Привет.
Помогите пожалуйста с програмой.

В заданой строке поменять местами первую букву а и первую букву б выдать сообщение если хотябы одной из них нету. как я понял строки эти нужно брать из файла.

я в VB недавно, многое непонимаю. помогите если не затруднит. Заранее благодарю.
Автор: pila007
Дата сообщения: 25.04.2007 16:36
Помогите решить 5 задач, очень нужно. Решать их надо на excel и VB
мне по учебе дали 30 задач и надо решить до конца апреля, может кто-то знает как их решать, помогите решить хоть вот эти 5, а остальные я сам решу.
1.Вычислить произведение положительных и суммы отрицательных элементов каждого столбца массива A(N,M)
2.Ввести массив A(N,M).Найти сумму элементов двух главных диагоналей.
3.Заполнить массив A(N) нечетными членами натурального ряда (1,3,5….) до тех пор пока их сумма не станет больше произвольного числа М. Найти произведение членов ряда и их число.
4.Ввести массив A(N).Задать число L.Вывести на печать исходный массив, значения первого элемента массива больше L, число элементов массива больших L
5.Ввести массив A(N). Преобразовать его так, чтобы значения элементов являлись суммой элемента массива и его индекса. Вывести на печать исходный и преобразованный массивы.
Автор: lapulechka
Дата сообщения: 25.04.2007 23:55
Код переписала правильно - проверила.

А в свой проэкт его воткнула так:

Private Sub Command1_Click()
Dim a() As Single
Dim i As Integer
Dim n As Integer
Dim k As String
Dim Max As Single
Dim ListIndex As Integer
Dim j As Integer
Dim d As Integer

n = Val(txtN.Text)
ReDim a(1 To n)
txtМассив.Text = ""

Randomize Timer
For i = 1 To n
a(i) = Int(101 * Rnd())
txtМассив.Text = txtМассив.Text + "" + Str(a(i))
Next i

For i = 2 To n
If a(i) > Max Then
Max = a(i): k = i
End If
Next i
txtMax.Text = Str(Max)

For j = k To n
d = a(n)
For i = n To 1 Step -1
a(i - 1) = a(i)
Next i
a(1) = d
Next j
End Sub


Бэсик смущет фраза

a(i - 1) = a(i)

Выдаёт ошибку 9 не зависимо от того заменила ли я на
Цитата:
For j = 1 To (n - k) или For j = k + 1 To n или For j = k To n - 1









Автор: AndVGri
Дата сообщения: 26.04.2007 04:10
lapulechka
Сударыня. Вы тоже будущий Ведущий Специалист в Области Права?
Об этой ошибке

Цитата:
For i = n To 1 Step -1
a(i - 1) = a(i)

я не писал, поскольку она, в отличии от указанной, не логическая. Достаточно нажать при ошибке кнопку "Debug"/"Отладка", чтобы посмотреть состояние переменных. Вы либо задавайте массив от 0 до n, либо внесите исправление в число, записанное после To
Да, и чтобы значил этот код у Вас?
txtМассив.Text = txtМассив.Text + "" + Str(a(i))
зачем используется пустая строка ""?


Добавлено:
IZV

Код:
Public Function Analyse(ByVal testStr As String) As String
Dim posA As Long, posB As String
Dim CharA As String, CharB As String

posA = InStr(1&, testStr, "а", vbTextCompare)
If posA = 0& Then
MsgBox "Буква А не найдена в строке: " & vbLf & testStr, vbExclamation, "Ошибка"
Analyse = "": Exit Function
End If

posB = InStr(1&, testStr, "б", vbTextCompare)
If posB = 0& Then
MsgBox "Буква Б не найдена в строке: " & vbLf & testStr, vbExclamation, "Ошибка"
Analyse = "": Exit Function
End If

CharA = Mid$(testStr, posA, 1&): CharB = Mid$(testStr, posB, 1&)
If posA > posB Then
Analyse = Mid$(testStr, 1&, posB - 1&) & CharA & _
Mid$(testStr, posB + 1&, posA - posB - 1&) & _
CharB & Mid$(testStr, posA + 1&)
Else
Analyse = Mid$(testStr, 1&, posA - 1&) & CharB & _
Mid$(testStr, posA + 1&, posB - posA - 1&) & _
CharA & Mid$(testStr, posB + 1&)
End If
End Function
Автор: pila007
Дата сообщения: 26.04.2007 14:13
Покажите хоть одну задачу как решать
1.Вычислить произведение положительных и суммы отрицательных элементов каждого столбца массива A(N,M)
2.Ввести массив A(N,M).Найти сумму элементов двух главных диагоналей.
3.Заполнить массив A(N) нечетными членами натурального ряда (1,3,5….) до тех пор пока их сумма не станет больше произвольного числа М. Найти произведение членов ряда и их число.
4.Ввести массив A(N).Задать число L.Вывести на печать исходный массив, значения первого элемента массива больше L, число элементов массива больших L
5.Ввести массив A(N). Преобразовать его так, чтобы значения элементов являлись суммой элемента массива и его индекса. Вывести на печать исходный и преобразованный массивы.
Автор: IZV
Дата сообщения: 26.04.2007 14:30
AndVGri огромное спасибо!!!. как я понял из когда к переменной teststr млжно присвоить значение текстового поля (к примеру testStr = T1.Text) а какую переменую можно присвоить к второму текстовому полю чтобы вывелся искомый результат?


Добавлено:
ой все понял
итоговый код будет выглядеть
Public Function Analyse(ByVal testStr As String) As String
Dim posA As Long, posB As String
Dim CharA As String, CharB As String
testStr = T1.Text
posA = InStr(1&, testStr, "А", vbTextCompare)
If posA = 0& Then
MsgBox "Буква а не найдена в строке " & vbLf & testStr, vbExclamation, "ошибка"
Analyse = "": Exit Function
End If

posB = InStr(1&, testStr, "Б", vbTextCompare)
If posB = 0& Then
MsgBox "Буква б не найдена в строке: " & vbLf & testStr, vbExclamation, "Ошибка"
Analyse = "": Exit Function
End If

CharA = Mid$(testStr, posA, 1&): CharB = Mid$(testStr, posB, 1&)
If posA > posB Then
Analyse = Mid$(testStr, 1&, posB - 1&) & CharA & _
Mid$(testStr, posB + 1&, posA - posB - 1&) & _
CharB & Mid$(testStr, posA + 1&)
Else
Analyse = Mid$(testStr, 1&, posA - 1&) & CharB & _
Mid$(testStr, posA + 1&, posB - posA - 1&) & _
CharA & Mid$(testStr, posB + 1&)

End If
T2.Text = Analyse
End Function
Private Sub Command1_Click()
Call Analyse(ByVal testStr)
End Sub

огромное спасибо AndVGri

Автор: AndVGri
Дата сообщения: 26.04.2007 14:43
pila007
Адын, одын, савсэм адын
[more]
'задание №3 - решение
Public Sub OddNumberAnalyse(ByRef fillArray() As Long, ByVal CompareTo As Long)
Dim i As Long, vItem As Long, vSum As Long
Dim vMult As Double, vLast As Long

vItem = 1&: vMult = 1#: vSum = 0&
i = LBound(fillArray)
vLast = UBound(fillArray)

Do Until vSum > CompareTo
If i > vLast Then
MsgBox "Маловат массивишко то", vbExclamation, "Маловато будет"
Exit Sub
End If
fillArray(i) = vItem
vSum = vSum + vItem
vMult = vMult * CDbl(vItem)

vItem = vItem + 2&: i = i + 1&
Loop

MsgBox "Произведение: " & CStr(vMult) & vbLf & _
"Количество: " & CStr(i - LBound(fillArray)), vbInformation, "Ответ"
End Sub
[/more]

Добавлено:
IZV
Бред, не меняй функцию

Код:
Private Sub Command1_Click()
T2.Text = Analyse(T1.Text)
End Sub
Автор: pila007
Дата сообщения: 26.04.2007 21:37
AndVGri
спасибо, а объяснить сможешь?, хоть кратенько
Автор: AndVGri
Дата сообщения: 27.04.2007 01:51
pila007
Am i teacher? I'm not
Чего тут, вызываешь процедуру OddNumberAnalyse, передав ей, свой одномерный массив A(N) и своё произвольное число M

Код:
OddNumberAnalyse A, M
Автор: pila007
Дата сообщения: 27.04.2007 12:59
AndVGri
а попроще этот пример можно сделать?
и можешь еще одын(пятый) пример тоже показать
Автор: pila007
Дата сообщения: 02.05.2007 16:00
вот что-то написал, но никак не получается правильно сделать.
задача такова:
Вычислить произведение положительных и суммы отрицательных элементов каждого столбца массива A(N,M)
Вот что сделал:
Sub k()
Dim a(10, 2) As Double
For i = 1 To 10
For j = 1 To 2
Cells(i, j) = Int(Rnd * 2)
a(i, j) = Cells(i, j)
If a(i, j) <= 0 Then
Cells(12, 1) = a(i, j) + a(i, j)
Else: Cells(14, 1) = a(i, j) * a(i, j)
End If
Next j
Next i
End Sub
тока что-то не получается, как сделать чтоб комп брал отриц и полож числа, пробую ставить Int(Rnd * 2) or Int(Rnd * (-2)) но он ставит значение с минусом. И как сделать чтобы он отриц числа складывал в одну ячейку а положительные умножал?
Автор: AndVGri
Дата сообщения: 02.05.2007 16:30
pila007

Цитата:
Cells(i, j) = Int(Rnd * 2)

А так не пробовал?

Код:
Cells(i, j) = Int(Rnd * 2 - 1)
Автор: pila007
Дата сообщения: 02.05.2007 16:41
это программирование в среде офисных преложений.
И как сделать чтобы он отриц числа складывал в ячейку cells(12,1), а положительные умножал и вписывал в ячейку cells(14,1)
Автор: DYBINA
Дата сообщения: 02.05.2007 16:42
Здравствуйте люди добрые!!!помогите глупенькой девушке-несмышленышу,очень нужна ваша помощь,когда нашла этот форум чуть от счастья не упала,но не об этом,я учусь на 1-ом курсе у меня программирование,т.к. я девушка мне это очень и очень далеко....помогите мне пожалуйста сделать пару лабораторок....я буду вам ооооооооооочччччччееееень благодарна,значит так:
1В основной программе создается файл со значениями фунции y=sin(x) на интервале a<=x<=b с шагом изменения аргумента hx. Функция вычисляет среднее арифметическое элементов файла с номерами от m до n. Файл и результат вычислений печатаются в основной программе.
2Создать процедуру, формирующую матрицу путем умножения элементов исходной матрицы на индекс строки в которой имеется максимальный элемент. Исходная матрица формируется и печатается в основной программе по ее запросу, новая матрица печатается там же.
Заранее спасибо
P.S. т.к. я не шарю в этом практически вообще то очень прошу вас написать поподробнее
Автор: AndVGri
Дата сообщения: 02.05.2007 17:06
pila007

Цитата:
это программирование в среде офисных преложений

А... Excel VBA здесь


Добавлено:
DYBINA
Не дублируй в двух топиках одно и тоже (лень ещё раз изложить?). Придёт страшный модератор...

Цитата:
, новая матрица печатается там же

Это где? Сходи к преподу, выясни, на каком языке писать, откуда и куда записывать данные?
Автор: DYBINA
Дата сообщения: 02.05.2007 17:28
AndVGri
Здрасьте,мне надо на VB
Автор: Milochka
Дата сообщения: 02.05.2007 18:17
помогите пожалуйста решить задачи:
1) Организация имеет возможность вложить сумму в размере 10000 денежных единиц в некий проект, чтобы в ечение следующих 3 лет получать равномерные выплаты в размере 305,5 денежных единиц ежемесячно. Определить выгодность вложения. Альтернативным способом увеличения капитала является вложение этой суммы в банк. Годовая процентная ставка там составляет 7%. Предполагается, что в эти 3 года ставка не изменится.
Данные могут изменяться в следующих пределах:
-годовая процентная банковская ставка - в диапазоне от 1 до 25%;
-величина ежемесячной выплаты - от 100 до 10000 денежных единиц;
-число выплат - от 1 до 120 раз.
Использовать встроенную функцию PV. По размерам и срокам выплат функция определяет реальную сумму вложения, которая обеспечит эти будущие выплаты. Эту сумму следует сравнить с предлагаемым размером вложения. Если предлагаемое вложение меньше реального, то сделка выгодна.
2) В учётную карточку сотрудника заносятся его фамилия, имя и отчество. Создать программу, которая, используя введённые в учётную карточку данные, будет формировать список сотрудников из фамилий и инициалов в текстовом поле в столбец.
Автор: popkov
Дата сообщения: 05.05.2007 07:25
Вопрос об удалении кодов полей EndNote перенсён в Word VBA
Автор: vasiliy74
Дата сообщения: 07.05.2007 15:54
Добрый день! Есть следующие вещи, в word создана анкета (жаль что не в Excel ) путём форм, люди её заполнили, каким образом можно консолидировать полученную информацию например перенести в Excel?
Автор: AndronH
Дата сообщения: 11.05.2007 14:27
пример, сохраненной информации приведи

Автор: lapulechka
Дата сообщения: 15.05.2007 18:32
Я всё с прошлой задачкой. Ну не знаю, каким же способом её ещё можно решить.

Задача: Дан массив из N целых чисел. Циклически сдвигая его элементы вправо, поместить первый из максимальных на последнее место.

Решение:
Dim a%()
Dim i As Integer
Dim n As Integer
Dim k As Integer
Dim Max As Integer

Dim j As Integer


Private Sub Command1_Click()

n = InputBox("Введите размерность массива")

ReDim a(1 To n)

For i = 1 To n
a(i) = Int(101 * Rnd())
Text1.Text = Text1.Text + Str(a(i)) + ""
Next i
End Sub

Private Sub Command2_Click()

For i = 1 To n

If a(i) > Max Then
Max = a(i): k = i
End If
txtMax.Text = Str(Max)
Next i

For j = k To n
d = a(n)
For i = n To 2 Step -1
a(i) = a(i - 1)
Next i
a(1) = d
Next j
Text2.Text = Text2.Text & Str(a(i))
End Sub

Мне нужно, чтоб массив выдавал, а он, жадина, только одно числои выдаёт!


Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940

Предыдущая тема: для Hiper-six (индексы .nsx .smt) хоть что нибудь Опции


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.