Перейти к содержимому

(499) 940-40-00 подключение
(499) 940-00-00 служба поддержки

Люди добрые помогите с информатикой :(


Сообщений в теме: 6

#1 misha09


  • Гости
Offline

Отправлено 11 Март 2009 - 15:10

учусь на 1 курсе, ничерта не понимаю в ней ;) помогите пожалуйста
язык VB
Из строки, содержащей корректно заданную дату в формате "dd.mm.yy", где dd - день, mm - месяц, yy - год, получить строку с датой, отстоящей от заданной на n дней вперед, в том же формате.
или
В заданном массиве строк найти строку с максимальным количеством вхождений заданного символа.

помогите ;)

#2 Otzigatel

    рАзРыХлИтЕлЬ!


  • Пользователи
  • 476 сообщений
4
Offline

Отправлено 22 Март 2009 - 21:42

Соображения по 1

На форме имеется текстбокс1(входные даннные), текстбокс 2(выходные) + кнопка запуска обработки данных.
При событии Button1_Click:
        Const n = 32 ' это для примера, лучше считать в нее значение откуда-то, например создать еще текстовое поле для этой величины
        Dim dd, mm, yy As Integer
REM Val() преобразует строку в число
        dd = Val(TextBox1.Text.Chars(0) + TextBox1.Text.Chars(1))
        mm = Val(TextBox1.Text.Chars(3) + TextBox1.Text.Chars(4))
        yy = Val(TextBox1.Text.Chars(6) + TextBox1.Text.Chars(7))
        dd = dd + n
        Do While (dd > 30)
REM без учета кол-ва дней в месяце
            dd = dd - 30
            mm = mm + 1
            If mm > 12 Then
                mm = 1
                yy = yy + 1
            End If
        Loop
REM Str(): число в строку
        TextBox2.Text = Str(dd) + "." + Str(mm) + "." + Str(yy)

Для учета кол-ва дней в месяце, можно помучать условие цикла
((dd > 31) And (mm = 1 Or mm = 3 Or mm = 5 Or mm = 7 Or...... )) or ((d>30) and(mm=4 Or mm=6 Or........) )
и вычисление dd в теле цикла
как то так.

ЗЫ1!
После всех преобразований, нули он отбрасывает в дате(т.е. выходит что-то типа: 11.4.9 :) ) Но думаю это несложно исправить(проверить на K<10 и вручную приписать ноль, если что. Возможно потребуется доп. стринговая(ые) переменная(ые) или вывод данных в текстбокс2 разбить на куски и в if-s засунуть... не знаю. У мну больше нет идей по этому поводу :) )


Соображения по 2


Сложный цикл. Внешний пробегает по всем строкам, внутренний пробегает по текущей строке и сравнивает все символы строки с искомым -> если совпадает увеличить значение счетчика на 1.

Удобно использовать массив из нулей величиной, равной кол-ву строк. Для i-той строки счетчиком будет i-тым элементом массива. В конце найти максимальный элемент в полученном массиве, запомнить его индекс, вывести - это и будет номер строки с макс. кол-вом вхождений. Вооооооть...

ЗЫ2
Я VB не знаю(почти), поэтому с реализацией как нибудь сам. Тут все просто - лекции/интернет в помощь

Свёрнутая информация: тут еще мыслишки
'Кажется массивы создаются так:
Dim x(2) As Integer ' в скобках - размерность
x(1) = 7 'здесь - работа с элементом с индексом 1 массива x
'а так циклы() со счетчиком x(0) //индексация элементов с нуля в массивах
For x(0) = 1 To 5
'делать что-то
Next



PS!
http://www.microsoft.com/express/
Для обучения там можно скачать бесплатный Visual Basic Express Edition 2008

Сообщение отредактировал Otzigatel: 22 Март 2009 - 22:16

Изображение
ИзображениеНАЖМИ-->Изображение<--

Изображение


#3 Ришат

    Гость


  • Новички
  • 1 сообщений
0
Offline

Отправлено 21 Июнь 2011 - 11:24

Есть отличная книжка:
Visual Basic 6.0 - Самоучитель для начинающих - Лукин С.Н.
Написана книга с расчетом на то, что, изучив ее, вы сможете без посторонней помощи составлять программы на Visual Basic и выполнять их на компьютере тоже без посторонней помощи.

#4 igatrinit


  • Пользователи
  • 2 128 сообщений
12
Offline

Отправлено 21 Июнь 2011 - 12:00

некропостеров на поджиг :wacko: :blink: :crazy:

#5 GlooM

    Гуру форума


  • Пользователи
  • 3 460 сообщений
81
Offline

Отправлено 21 Июнь 2011 - 14:33

Просмотр сообщенияРишат (Jun 21 2011, 12:23) писал:

Есть отличная книжка:
Visual Basic 6.0 - Самоучитель для начинающих - Лукин С.Н.
Написана книга с расчетом на то, что, изучив ее, вы сможете без посторонней помощи составлять программы на Visual Basic и выполнять их на компьютере тоже без посторонней помощи.

Интересно, а человеку написавшему программу без посторонней помощи, может понадобится посторонняя помощь по ее выполнению????????????????

Сообщение отредактировал GlooM: 21 Июнь 2011 - 14:34


#6 Котел

    Проживающий


  • Пользователи
  • 541 сообщений
20
Offline

Отправлено 21 Июнь 2011 - 23:54

прога легкая,за год учебы программирования,можно было немножко поучиться.купи какую-нить книгу.желательно проверенную и дорогую(дешевые мало помогают(в основном))
Если поезд с рельс сойдет,
Мало не покажется,
Пассажиры по туннелю как гавно размажутся.
Почки, печень оторвутся,
Ручки в узел свяжутся
Ведь московское метро надежным только кажется.

#7 stepanov_kir

    Прохожий


  • Пользователи
  • 265 сообщений
0
Offline

Отправлено 25 Июнь 2011 - 15:28

да в Инете много уроков по Бейсику.. легкие и доступные..





Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных