Visual Basic, строки

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Visual Basic, строки

Re: Visual Basic, строки

Mary Yu » 18 дек 2008, 21:24

SergeiNG писал(а):А может так???

Код: Выделить всё

Dim s As String             '  {например , rA_DA}
Dim sum, n, i, k As Integer
'Cls
sum = 0
s = text1.Text
n = Len(s)
For i = 1 To n
    k = Mid(s, i, 1)
    If i = n Then
        If k = "A" Then
        sum = sum + 1
    Else
        If k = "A" And (Mid(s, i + 1, 1) = " " Or Mid(s, i + 1, 1) = ".") Then
        sum = sum + 1
        End If
    End If
Next


сча запустим и проверим))

Re: А теперь о Visual Basic

Mary Yu » 18 дек 2008, 21:23


Все правильно?

да,...осталось тока запустить прогу...

Re: Visual Basic, строки

Banny » 18 дек 2008, 18:36

Уважаемые, помогите пожалуйста с решением нескольких задач

1. Строка, содержащая произвольный текст, состоит не более чем из 200 символов. Написать, какие буквы и сколько раз встречаются в этом тексте.
2. Из заданной символьной строки выбрать те символы, которые встречаются в ней только один, в том порядке, в котором они встречаются в тексте.
3. Определите, является ли заданная строка правильной записью вещественного числа с возможным знаком и десятичной точкой.
4. С клавиатуры вводиться отрывок N строкю Требуется напечатать строку, в которой больше всего слов.

Буду очень благодарен если поможете с решением данных задач.
Заранее большое вам Спасибо!

Re: Visual Basic, строки

SergeiNG » 17 дек 2008, 12:54

А может так???

Код: Выделить всё

Dim s As String             '  {например , rA_DA}
Dim sum, n, i, k As Integer
'Cls
sum = 0
s = text1.Text
n = Len(s)
For i = 1 To n
    k = Mid(s, i, 1)
    If i = n Then
        If k = "A" Then
        sum = sum + 1
    Else
        If k = "A" And (Mid(s, i + 1, 1) = " " Or Mid(s, i + 1, 1) = ".") Then
        sum = sum + 1
        End If
    End If
Next

Re: А теперь о Visual Basic

Naeel Maqsudov » 17 дек 2008, 01:45

Mary Yu писал(а): Это случайно не ку Б?


Это к кому вопрос? Это же у Вас написано "cls"!
Я поэтому и говорб, что у Вас тут намешан VBasic с чем-то еще :)

Допустим у Вас VBasic.
Допустим вы сделали там форму... Скажем, Form1
Снова Допустим (так как вы же не написали, как оно там на самом деле сделано) на эту форму вы "бросили" поле TextBox1 и кнопку CommandButton1

тогда Ваша программа - это должна быть процедура обработки нажатия кнопки. Так?

Что-то вроде

Код: Выделить всё

Sub CommandButton1_Click()
  .....
End Sub
Все правильно?

Re: А теперь о Visual Basic

Mary Yu » 17 дек 2008, 01:08

Naeel Maqsudov писал(а):0)

Наверное имелось в виду "Сколько слов заканчивается"

Угу
Не уверен, что представленное решение на Visual Basic. Может это QBasic?.. Хотя text1.text... Что-то тут вообще не из той оперы...

из этой :D

2)
S as String, а не
Он ещё сказал что мона использовать Variant

3)
cls - это точно не из VBasic Какой экран хотите очистить?

Это случайно не ку Б?

6)
вот тут:
if k="A" and mid(s,i+1,1)=" "
then str=s1+1 or mid(s,i+1,1)="."

Тут сразу 3 ошибки: синтаксическия и 2 логические. Возможно имелось в виду:
if k="A" and (mid(s,i+1,1)=" " or mid(s,i+1,1)=".") then sum=sum+1
но тогда как быть, если после слова стоит не точка, а запятая, или другой разделитель?


Ни наю,поэтому вас спрашиваю

Re: А теперь о Visual Basic

Naeel Maqsudov » 15 дек 2008, 17:39

0)

Наверное имелось в виду "Сколько слов заканчивается"

1)
Не уверен, что представленное решение на Visual Basic. Может это QBasic?.. Хотя text1.text... Что-то тут вообще не из той оперы...

2)
S as String, а не

3)
cls - это точно не из VBasic :) Какой экран хотите очистить?

4)
где вывод результата? Куда надо вывести результат

5)
ошибка в алгоритме: делаете for i=1 to n, а потом еще mid(s,i+1,1). На последней итерации это будет обращение к символу n+1, которого не существует. (n-последний)

6)
вот тут:
if k="A" and mid(s,i+1,1)=" "
then str=s1+1 or mid(s,i+1,1)="."

Тут сразу 3 ошибки: синтаксическия и 2 логические. Возможно имелось в виду:
if k="A" and (mid(s,i+1,1)=" " or mid(s,i+1,1)=".") then sum=sum+1
но тогда как быть, если после слова стоит не точка, а запятая, или другой разделитель?

Visual Basic, строки

Mary Yu » 15 дек 2008, 17:24

Мои преподы звери...Им было скушно,и они решили устроить экзамен сразу на 2 языках программирования Паскаль и...вижу бэйсике. Т.Т
Над вижу бэйсиком мы работали почти ровно год назад..Некоторые лекции серьёзно не разбирали,даже лаб не было.
Вот задача,которую предоставил препод:
"Сколько букв в строке заканчивается на английскую заглавную "А"? "Вот его решению только не доверяю,потому что у него бывают потери памяти,серьёзно:

Код: Выделить всё

Dim s As integer               {например , rA_DA}
Dim sum,n,i,k as integer
cls
sum=0
s=text1.text
n=len(s)
for i=1 to n 
k=mid(s,i,1)
 if k="A" and mid(s,i+1,1)=" "
  then str=s1+1 or mid(s,i+1,1)="."
next
Помогите найти ошибки,чт.она заработала!

Вернуться к началу