Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
23 / 23 / 30
Регистрация: 23.10.2012
Сообщений: 344
1

Записывание в массив нужной строки

15.11.2012, 12:44. Показов 677. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть текст:
Кликните здесь для просмотра всего текста
V
ÊÂ-1
2 423
1 288
VIII
Type 59
1 834
1 020
V
Ò-50-2
855
440
IX
Îáúåêò 704
851
459
IV
À-20
583
286
IX
ÈÑ-8
558
276
VIII
ÈÑÓ-152
493
242
X
ÈÑ-7
440
225
VIII
Îáúåêò 261
408
178
VII
Îáúåêò 212
380
188
VIII
Ò-44
366
203
IX
Ò-54
320
178
VI
Ñ-51
317
152
III
ÑÓ-26
299
180
VII
ÑÓ-152
280
151
VI
ÑÓ-100
264
127
VIII
ÈÑ-3
258
126
VI
Ò-34-85
258
130
VII
ÈÑ
247
111
VI
Ò-150
230
98
V
ÑÓ-85
229
111
VII
Ò-43
180
107
IV
Ò-50
176
77
X
Îáúåêò 268
126
59
II
ÁÒ-2
125
59
V
T-34
119
59
X
Ò-62À
104
52
I
ÌÑ-1
103
52
III
ÁÒ-7
102
60
X
ÈÑ-4
101
46
IV
Ò-28
96
45
VI
ÊÂ-1Ñ
77
42
I
T1 Cunningham
71
29
III
Ò-46
71
40
I
Leichttraktor
68
27
IV
ÑÓ-85Á
65
32
III
Ò-127
61
39
IX
ÑÓ-122-54
58
31
V
T1 Heavy
50
26
II
Ò-26
48
21
IV
M3 Lee
46
23
IV
ÑÓ-5
45
15
IV
Matilda
44
25
II
Hotchkiss H35
31
12
II
ÑÓ-18
28
16
II
PzKpfw II
28
15
V
Churchill I
27
17
III
ÑÓ-76
26
12
III
PzKpfw III Ausf. A
21
14
III
PzKpfw II Luchs
20
8
III
M2 Medium Tank
20
9
V
PzKpfw IV
18
8
II
M2 Light Tank
18
11
IV
AMX 40
16
6
IV
PzKpfw III
12
8
II
ÀÒ-1
10
4
II
T2 Medium Tank
9
3
V
Churchill
9
0
II
T57
9
5
VI
ÊÂ-2
7
5
III
Vickers Medium Mk. III
5
1
IV
PzKpfw 38 nA
5
2
II
Sturmpanzer I Bison
2
2
IV
T40
1
1
II
MkVII Tetrarch
1
0
III
AMX 38
1
1
II
D1
1
1
II
RenaultBS
1
1


Мне нужно чтобы в массив записывались строки номера которых кратны 4 а в другой массив строки кратные 2 но не кратные 4.

Вот код но он не работает:
Delphi
1
2
3
4
5
6
7
8
for i:=0 to memo1.Lines.Count-1 do
if i mod 4=0 then // Для второго случая  (i mod 2=0) and (i mod 4<>0)
begin
inc(k);
f[i]:=Memo1.Lines[i]       
end;
for i:=1 to k do
Memo1.Lines.Add(f[i]);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2012, 12:44
Ответы с готовыми решениями:

Чтение файла и записывание строк в массив
Собственно есть файл с именем res.txt, в нем содержатся строки 12 11 8 0 Нужно занести в...

Поиск в файле нужной строки и использование строки, находящейся рядом
Попробую объяснить, как можно, проще. Если что непонятно, напишите. Есть файл base.txt. В нем...

Автозаполнение с нужной строки
Здравствуйте.Есть две книги с несколькими таблицами.Там настроена связь между файлами и авто...

Удаление нужной строки в матрице
Всем привет! Новичок в питоне, поэтому очень нуждаюсь в помощи. Суть задания в том, что у меня...

10
angstrom
15.11.2012, 14:16 2
А почему?
Delphi
1
  f[i] := Memo1.Lines[i]
получается будут пропуски данных в массиве, ведь не при каждом I проходит запись.
может так планировалось?
Delphi
1
  f[k] := Memo1.Lines[i]
23 / 23 / 30
Регистрация: 23.10.2012
Сообщений: 344
15.11.2012, 14:50  [ТС] 3
Все равно не работает. Так и оставляет входной текст

Добавлено через 1 минуту
Может кто подскажет, как другим способом можно?
0
angstrom
15.11.2012, 14:52 4
А так?
Delphi
1
2
3
4
5
6
7
8
9
10
  k := 0;
  for I := 0 to Memo1.Lines.Count - 1 do
    if I mod 4 = 0 then // Для второго случая  (i mod 2=0) and (i mod 4<>0)
    begin
      f[k] := Memo1.Lines[I];
      inc(k);
    end;
 
  for I := 0 to k  - 1 do
    Memo1.Lines.Add(f[I]);
23 / 23 / 30
Регистрация: 23.10.2012
Сообщений: 344
16.11.2012, 02:19  [ТС] 5
Все рано не работает
0
angstrom
16.11.2012, 03:23 6
С чего это?
Вложения
Тип файла: rar prj39.rar (1.7 Кб, 4 просмотров)
23 / 23 / 30
Регистрация: 23.10.2012
Сообщений: 344
16.11.2012, 03:58  [ТС] 7
У меня помиомо этого в кнопке есть еще:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
procedure TForm1.Button3Click(Sender: TObject);
begin
  nick:=edit1.text;
  WebBrowser1.Navigate('http://worldoftanks.ru/community/accounts/named/'+nick+'/');
end;
 
procedure TForm1.Button4Click(Sender: TObject);
var Doc, El: Variant;
    i,k: Integer;
    nick:string;
    f:array [1..1000] of string;
begin
memo1.clear;
  Doc := WebBrowser1.OleObject.Document.GetElementsByTagName('td'); // вот зацепляемся за тег
  for i := 0 to Doc.Length - 1 do // ищем все что связано с этим тегом
    begin
      El := Doc.Item(i); // получаем элементы этого тега
       // и вот тут вот сравниваем за вышесказанный id
                                                      // если в таком теге и с таким id что-то найдено
        Memo1.Lines.Add(El.InnerText) // то вывести это в мемо как текст, а не как код html
                                      // за это отвечает InnerText, если нужно было бы кодом - то можно было бы написать InnerHTML
    end;
    k:=0;
for i:=0 to Memo1.Lines.Count - 1 do //запускаем цикл перебора (вывалимся Exit ниже из него как только найдём <2>
 begin
     Memo1.Lines.Delete(i); // удаляем найденное
     while (memo1.Lines[i]<>'I  ') and(memo1.Lines[i]<>'II  ') and (memo1.Lines[i]<>'III  ') and(memo1.Lines[i]<>'IV  ') and(memo1.Lines[i]<>'V  ') and(memo1.Lines[i]<>'VI  ') and(memo1.Lines[i]<>'VII  ') and(memo1.Lines[i]<>'VIII  ') and(memo1.Lines[i]<>'IX  ') and(memo1.Lines[i]<>'X  ') do  memo1.Lines.Delete(i); exit; // пока ищем <3>  удаляем строчки(тем самым в мемке последние строки будут подниматься) на место удалённой попадать будет новая...
         end;
 //   for i:=0 to 110 do
  //  Memo1.Lines.Delete(i);
 
 
end;
Пробовал отдельно кнопку делать, твой код работает вместе нет

Добавлено через 1 минуту
Потом после всего этого твой код в этой же кнопке: не работает. Работает только отдельно
0
angstrom
16.11.2012, 05:31 8
Кинь свой проект в архиве, и нужно знать, какой ник используешь, но это уж в личку.
23 / 23 / 30
Регистрация: 23.10.2012
Сообщений: 344
16.11.2012, 08:59  [ТС] 9
Ник можно и здесь:xako
Вложения
Тип файла: rar pr.rar (220.7 Кб, 2 просмотров)
0
23 / 23 / 30
Регистрация: 23.10.2012
Сообщений: 344
16.11.2012, 09:19  [ТС] 10
angstrom, Можешь подскажешь как из римских цифр сделать арабские

Добавлено через 9 минут
А потом умножить значения элементв 1 массива(с переведенными римскими цифрами) на значения элементов 2 массива, то есть
Дано
1 массив с римскимим цифрами -> Этот массив но уже с переведенными цифрами
V 5
VII 7
IX 9
...
Затем нужно
1 массив 2 массив ----> В итоге получить 3 массив
5 2344 5*2344
7 1242 7*1242
9 897 9*897
0
angstrom
17.11.2012, 00:04 11
Честно говоря, я не понял, что вообще программа делает. Дважды получает один и тот же контекст, делает ненужные вычисления, делает невыполняемые проверки, затем по результату таких проверок удаляет всё подряд. Брр.

Для перевода римских цифр в арабские создай константный массив строк из римских цифр и по индексу заменяй на арабские.
17.11.2012, 00:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.11.2012, 00:04
Помогаю со студенческими работами здесь

Чтение нужной строки из файла
С помощью функций Win Api на C написать программу, которая по заданному файлу и слову выводит все...

Поиск нужной строки в файле
Как сравнить числа в файле с введенным числом(доход,относительно которого осуществляется...

Извлечение нужной информации из строки
Есть стока следующего вида:...

Чтение нужной строки из файла
Есть файл расположенный в папке с проектом. В нем пока 2 строки, необходимо считать нужную строку,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru