Помогите плиз !

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
avatara
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 14.10.2004 (Чт) 23:08

Помогите плиз !

Сообщение avatara » 14.10.2004 (Чт) 23:17

здравствуйте ЛЮДИ Добрые! помогите пожалуйста !!!!!! ))))) мне после завтра две контрольных сдавать а я не в зуб ногой :oops: :cry: :oops: :cry:
1.1 Строки. Решить следующую задачу
Заданна строка символов. Группы символов, разделённые пробелом и не содержащие пробелов внутри себя, будем называть словами. Удалить из каждого слова строки все последующие вхождения его первой буквы.
1.2 Одномерные массивы. Решить следующую задачу.
Дана последовательность а1,а2,...,а100. Расположить не нулевые элементы последовательности по убыванию; остальные элементы оставить на своих местах.
2.1 Двумерные массивы решить следующую задачу .
Дана матрица А(3,5). Если Сумма всех элементов Матрицы больше 0, то у первого элемента этой матрицы заменить знак на противо положный.
2.2 Записи. Решить Задачу. Рассматривать не менее 10 записей .
Дан список группы с оценками экзаменационной сессии. Подсчитать количество отличников в группе и в поле "имеется задолжность" студентам, имеющим двойки напечатать "да" а остальным "нет".
:!: :!: :!: :!: :!: :!: :!: :!: :!: :!: :!: :!: :!:
Кто-нибудь пожалуйста !!! А то препод мне поставит МАТ в два хода!
Ну хотя бы одну ! вторую !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Я вас очень прошу

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 15.10.2004 (Пт) 2:15

1.
Код: Выделить всё
Private Sub CleanWords(Str As String)
Dim i&, j&
Dim arr() As String

arr() = Split(Str, " ")
For i = 0 To UBound(arr)
    lettr = Mid(arr(i), 1, 1)
    new_word = ""
    For j = 2 To Len(arr(i))
        If Mid(arr(i), j, 1) <> lettr Then new_word = new_word & Mid(arr(i), j, 1)
    Next j

    arr(i) = new_word
Next i
End Sub


Щас на работе..дома проверю
Последний раз редактировалось FaKk2 15.10.2004 (Пт) 5:49, всего редактировалось 2 раз(а).
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

FaKk2
El rebelde gur&#250;
El rebelde gur&#250;
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 15.10.2004 (Пт) 2:34

2.
Код: Выделить всё
Private Sub BubbleSort(sortArray() As Long)
Dim i As Long
Dim j As Long
Dim Temp As Long
Dim tArr() As Long, count As Integer

For i = 0 To UBound(sortArray)
    Print (sortArray(i))
Next i
Print ("-----------------")

count = 0
ReDim tArr(UBound(sortArray), 1)

For i = 0 To UBound(sortArray)
    If sortArray(i) <> 0 Then
        tArr(count, 0) = sortArray(i)
        tArr(count, 1) = i
        count = count + 1
    End If
Next i
count = count - 1
'ReDim Preserve tArr(count + 1, 1)

For i = LBound(tArr) To count
    For j = LBound(tArr) To (count - i - 1)
        If tArr(j + 1, 0) > tArr(j, 0) Then
            Temp = tArr(j, 0) 'swap if the two items
            tArr(j, 0) = tArr(j + 1, 0) 'are out of order
            tArr(j + 1, 0) = Temp
        End If
    Next j
Next i

For i = 0 To count
    sortArray(tArr(i, 1)) = tArr(i, 0)
Next i


For i = 0 To UBound(sortArray)
    Print (sortArray(i))
Next i
End Sub

Немного модифицировал пример в Инете. Пузырьковая сортировка.
Этот вариант может справится со следующими комбинациями:
ноль-число, ноль-ноль, число-число

Тока вот на число-ноль еще не додумал :)

Таки надо было самому сесть и написать все заново :)
Этот вариант конечный. Сортирует как надо ;)


Запускается:
Код: Выделить всё
Private Sub Form_Load()
Randomize
Dim arr(6) As Long

arr(0) = 1
arr(1) = 4
arr(2) = 0
arr(3) = 0
arr(4) = 7
arr(5) = 9
arr(6) = 0
'arr(7) = 1
BubbleSort arr
End Sub
Последний раз редактировалось FaKk2 15.10.2004 (Пт) 9:07, всего редактировалось 4 раз(а).
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

FaKk2
El rebelde gur&#250;
El rebelde gur&#250;
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 15.10.2004 (Пт) 2:42

3.
Код: Выделить всё
Private Sub CheckSum(ByRef Arr() as Long, X as Integer, Y As Integer)
Dim i&, j&, sum as long

sum=0
For i=0 To X
   For j=0 To Y
      sum=sum + Arr(i,j)
   Next j
Next i

If sum>0 Then Arr(0,0)= Not Arr(0,0)
End Sub

Не помню как находить верхнюю границу у многомерных массивов :)
Так что Х это кол-во строк, а Y кол-во столбцов.

Кстати не уверен что оператором Not можно так пользоватся, но в крайнем случае несложно переделать
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

FaKk2
El rebelde gur&#250;
El rebelde gur&#250;
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 15.10.2004 (Пт) 2:44

Только насчет записей не помню :(
Это VB'шные коллекции?
В таком случае не знаю как с ними работать 8)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 15.10.2004 (Пт) 7:23

Это VB'шные коллекции?

Нет, запись(record) это Type.
الفيجوال بيسك الرابح

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.10.2004 (Пт) 9:01

Вот какая разница. А я что говорил?
Lasciate ogni speranza, voi ch'entrate.

FaKk2
El rebelde gur&#250;
El rebelde gur&#250;
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 15.10.2004 (Пт) 9:08

alibek

Да понимаешь ли скучал на работе :lol:

Чего б не помочь? 8)
Для получения ответа надо продемонстрировать качества, позволяющие стать компетентным — внимательность, вдумчивость, наблюдательность, желание активно участвовать в выработке решения.

avatara
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 14.10.2004 (Чт) 23:08

Мужики !!!!!!!!!

Сообщение avatara » 15.10.2004 (Пт) 9:33

Спасибо !!!!!!!!!!!!!!
Я вам так признателен !!!!!!!!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 15.10.2004 (Пт) 14:38

Не помню как находить верхнюю границу у многомерных массивов


Я же недавно давал. Держи еще раз:

GetArrayDimensions - возвращает размерность массива или 0 если массив не инициализирован.

UboundArray - возвращает кол-во элементов в указанной размерности массива или -1 если данная размерность не инициализирована.

То есть UboundArray неинициализированного массива вернет -1.
------------------------------------------
Код: Выделить всё
Public Function UboundArray(ArrayName As Variant, Optional Dimension As Integer = 1) As Long
    If Dimension < 1 Or Dimension > GetArrayDimensions(ArrayName) Then
        UboundArray = -1
    Else
        UboundArray = UBound(ArrayName, Dimension)
    End If
End Function

Public Function GetArrayDimensions(arr As Variant) As Integer
    Dim a As Long

    CopyMemory a, ByVal VarPtr(arr) + 8, 4
    CopyMemory a, ByVal a, 4
    If a Then CopyMemory GetArrayDimensions, ByVal a, 2
End Function
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, PetalBot и гости: 10

    TopList