Правила Форума редакция от 22.06.2020 |
|
|
|
|
|
Опции темы | Опции просмотра | Language |
18.11.2007, 23:22 | #1 |
Неактивный пользователь
Регистрация: 18.11.2007
Сообщений: 1
Репутация: 0
|
Pascal
пожалуйста,срочно!!!!!!помогите решить задачку (Pascal)
Пользователь вводит строку чисел через запятую например, -5,89,3.6,789,437,-7 записать эти числа в массив |
Реклама: | вставить имплант зуба цена москва под ключ | Отличное предложение в КНС Нева - 2060 rtx купить - доставкой по Санкт-Петербургу и СЗАО | тумба тв | Conecte Nvoip a Square | корзины для цветов |
26.11.2007, 18:08 | #2 |
Постоялец
Пол: Регистрация: 30.10.2006
Сообщений: 270
Репутация: 197
|
Ответ: Pascal
На 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 |
13.05.2008, 05:00 | #3 |
Новичок
Пол: Регистрация: 25.06.2007
Сообщений: 14
Репутация: 14
|
Ответ: Pascal
На 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 в 05:03.. Причина: Добавлено сообщение |
15.05.2008, 04:03 | #4 |
Неактивный пользователь
Регистрация: 15.05.2008
Сообщений: 3
Репутация: 0
|
Ответ: Pascal
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; |
01.06.2008, 03:11 | #5 |
Неактивный пользователь
Регистрация: 31.08.2007
Сообщений: 7
Репутация: 1
|
Ответ: Pascal
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |
|
|