8 задачек на VisuaBasic 6.0, очень прошу помочь, позарез

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

8 задачек на VisuaBasic 6.0, очень прошу помочь, позарез

Сообщение Gooru » 18.12.2005 (Вс) 17:31

Вот свалилось мне наголову тут 8-мь задачь попрограммированию на VB 6.0
очень прошу помочь, не уверен что сам с умею сделать все задачи, поэтому и прошу помощи:
1. Даны два целочисленные массива. Определить, можно ли в первом из них выбрать такие k идущих подряд элементов Xj, Xj+1, ..., Xk-1, чтобы Xj = Y1, Xj+1 = Y2, ..., Xk-1 = Yk.

2. Каждый солнечный день улитка, сидящая на дереве, поднимается вверх на 2 см, а каждый пасмурный день опускается вниз на 1 см, В начале наблюдения улитка находится в A см от земли на B-метровом дереве. Имеется 30-элементный массив, содержащий сведения о том, был ли соответствующий день наблюдения пасмурным или солнечным. Написать программу, определяющую местоположение улитки к концу 30-го дня наблюдения.

3. Найти наибольший и наименьший элементы прямоугольной матрицы и поменять их местами.

4. Даны действительные числа а1, а2, ..., аn.
Получить квадратную матрицу порядка n :
a1 a2 a3 … an-2 an-1 an
a2 a3 a4 … an-1 an a1
a3 a4 a5 … an a1 a2
… … … … … … …
an-1 an a1 … an-4 an-3 an-2
an a1 a2 … an-3 an-2 an-1

5. Из заданного числа вычли сумму его цифр. Из результата вновь вычли сумму его цифр и т.д. Через сколько таких действий получится нуль?

6. Написать программу вычисления суммы факториалов всех нечетных чисел от 1 до 9.

7. Дана строка, содержащая текст на русском языке. Подсчитать количество слов, начинающихся и заканчивающихся на одну и ту же букву.

8. Составить программу преобразования натуральных чисел, записанных в римской нумерации, в десятичную систему счисления.

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 18.12.2005 (Вс) 17:45

Задача 1
Первый массив X(i) второй Y(j)
Код: Выделить всё
if not(i<j) then
  For intFirstT=0 to i-j
    for intSecT=0 to j
      if x(intfirstt+intsect)=y(intsect) then
        Retval=true
      end if
    next intSecT
  Next intFirstT
end if


Задача 2
boolIsSun(29) массив с истинными солнечными днями
Код: Выделить всё
intNow=A
intMax=B
for intT = 0 to 29
  if boolissun(intt) then
    intnow=intnow+2
  else
    intnow=intnow-1
  end if
  if intnow>intmax then intnow=intmax
  if intnow<0 then intnow=0
next intt


Задача 3
intArr(x,y) - наш массив

Код: Выделить всё
dim intMaxX,intMaxY, intMinX, intMinY, intMax, intMin as integer
intMax=0-32768
intMin=32767
for intXT=0 to x
  for intYT=0 to y
    if intArr(intXT,intYT) > intmax then
      intMax=intArr(intXT,intYT)
      intMaxX=intXT
      intMaxy=intYT
    end if
    if intArr(intXT,intYT) < intmin then
      intMin=intArr(intXT,intYT)
      intMinX=intXT
      intMiny=intYT
    end if
  next intyt
next intxt


Задача 4
dblArr(n-1)-наш массив
dblArrRes(n-1,n-1) - конечный массив
Код: Выделить всё
For intFirstT=0 to n-1
  for intSecT=0 to n-1
    dblArrRes(intfirst,intsect)=dblarr((infirstt+intsect) mod n)
  Next intSecT
Next inFirstT


Все лениво мне дальше писать )

Все что здесь написано не проверялось на работоспособность.

Gooru
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 18.12.2005 (Вс) 17:24

Сообщение Gooru » 18.12.2005 (Вс) 18:26

GAGArin писал(а):Все лениво мне дальше писать )

Все что здесь написано не проверялось на работоспособность.


Спасибо.

barsuk
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 21.12.2005 (Ср) 11:35

Сообщение barsuk » 24.12.2005 (Сб) 16:36

Вот задачка №7

Option Explicit
Dim kol_oper As Integer 'количество операций
Dim chislo As Integer 'Введённое число

Private Sub Form_Load()
kol_oper = 0
End Sub

Private Sub OKButton_Click()
Dim i As Integer
Dim cifri() As Long 'Цифры числа
Dim soobshenie As String 'Вывод результата
Dim kol_cifr As Integer 'Количество цифрв числе
Dim summa_cifr As Integer 'Сумма цифр числа

kol_cifr = Len(Text1.Text)
ReDim cifri(1 To kol_cifr)
chislo = Text1.Text 'Заносим введённое число в переменую

Do Until chislo = 0
For i = 1 To kol_cifr
cifri(i) = Mid(Text1.Text, i, 1) 'Заносим цифры в массив
Next i

For i = 1 To kol_cifr
summa_cifr = summa_cifr + cifri(i) 'Считаем сумму цифр
Next i

chislo = chislo - summa_cifr
summa_cifr = 0 'Обнуляем на каждом шаге сумму цифр
kol_oper = kol_oper + 1
Text1.Text = chislo 'Заносим число в текстовое поле
kol_cifr = Len(Text1.Text) 'Считаем количество цифр, получившегося числа на каждом шагу
Loop

soobshenie = MsgBox("Количетсво операций = " & kol_oper, vbInformation + vbOKOnly, "Окончение вычислений")
kol_oper = 0
summa_cifr = 0
End Sub

Посидел, попыхтел минут 20 и написал =). Надеюсь, что ещё не поздно... :oops: :D [/syntax]

barsuk
Начинающий
Начинающий
 
Сообщения: 14
Зарегистрирован: 21.12.2005 (Ср) 11:35

Сообщение barsuk » 24.12.2005 (Сб) 16:38

Ой... это задачка №5, а не №7 =( сорри...

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 25.12.2005 (Вс) 1:37

Ну неинтересные задачки... :cry:
В поиск бы послал, но для их решения и поиск не нужен...
А с таким ником вообще стыдно было бы вопросы задавать.
Пора уже всем хорошим людям собраться и убить всех плохих людей.


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

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

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

    TopList