![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Неактивный пользователь
Регистрация: 18.11.2007
Сообщений: 1
Репутация: 0
|
пожалуйста,срочно!!!!!!помогите решить задачку (Pascal)
Пользователь вводит строку чисел через запятую например, -5,89,3.6,789,437,-7 записать эти числа в массив |
|
|
|
| Реклама: |
|
|
#2
|
|
Постоялец
![]() ![]() Пол:
Регистрация: 30.10.2006
Сообщений: 270
Репутация: 197
|
На VB так, для Pascal принцип такой же
Код:
'глбальные переменные
Dim mass(50) As String
Public StartPosition As Long 'начальная позиция считывания строки
Public EndPosition As Long 'конечная позиция считывания строки
Dim i As Long 'индекс массива
Private Sub Form_Load()
'инициализация пер-х
StartPosition = 1
EndPosition = 1
i = 0
End Sub
Private Sub TextBox1_Change()
If Right(TextBox1.Text, 1) = "," Then 'считываем последнюю букву если она равна ","
EndPosition = Len(TextBox1.Text) 'конечная позиция равна длинне строки
'ф-ция MID() считывает символы начиная со StartPosition и длинной
'равной EndPosition - StartPosition
mass(i) = Mid(TextBox1.Text, StartPosition, EndPosition - StartPosition)
i = i + 1 'увиличиваем приращение массива на 1
StartPosition = EndPosition + 1 'начальная позиция равна конечной +1 для следующей итерации
End If
End Sub
Private Sub Command1_Click()
'перебираем массив
For i = 0 To UBound(mass) - 1
Debug.Print mass(i)
Next i
End Sub
|
|
|
|
|
|
#3
|
|
Новичок
Пол:
Регистрация: 25.06.2007
Сообщений: 14
Репутация: 14
|
На VBA можно просто писать функцию Split
например Arr = Split("1,2,3,4,5", ",") Добавлено через 3 минуты А для Delphi используйте функцию function ExtractStrings(Separators: TSysCharSet; WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer; делает все что нужно и результат возвращает в TString Последний раз редактировалось DragonDr; 13.05.2008 в 04:03.. Причина: Добавлено сообщение |
|
|
|
|
|
#4
|
|
Неактивный пользователь
Регистрация: 15.05.2008
Сообщений: 3
Репутация: 0
|
var
s: string; a: array [0..100] of integer; i: integer; begin readln(s); i := 0; while (s <> '') do begin if (Pos(',', s) = 0) then begin a[i] := StrToInt(s); s := ''; end else begin a[i] := Copy(s, 1, Pos(',', s)-1); Delete(s, 1, Pos(',', s)); end; Inc(i); end; end; |
|
|
|
|
|
#5
|
|
Неактивный пользователь
Регистрация: 31.08.2007
Сообщений: 7
Репутация: 1
|
|
|
|
|
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| PASCAL | Алексей М | Моделирование программ | 1 | 27.02.2009 16:52 |
| Pascal | puella | Delphi | 5 | 18.02.2008 18:11 |
| Pascal ! Помогите плз .... | a1xel | Delphi | 8 | 29.12.2007 16:53 |
| Файл > 2Гб и Pascal | vvnickp | Архив | 4 | 28.11.2006 13:26 |
|
|