Двумерный массив. Help. - страница 2

 

Также сделал небольшой код, вот результаты:

int TF1[4]={1,2,3,4};
string TF2[4]={"a","b","c","d"};
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
void start() {
   Print("=====Проверяем массив типа INT=====");
   for(int i=0;i<4;i++) {
      Print("int, элемент №",i,": ",TF1[i]);
   }
   Print("Меняем размер массива INT");
   ArrayResize(TF1,2);
   Print("int, новый размер: ", ArraySize(TF1));
   for(i=0;i<4;i++) {
      Print("int, элемент №",i,": ",TF1[i]);
   }
   Print("Присваиваем в несуществующие ячейки массива элементы");
   Print("TF1[2]=5;   TF1[3]=6; и смотрим, что получилось");
   TF1[2]=5;   TF1[3]=6;
   for(i=0;i<4;i++) {
      Print("int, элемент №",i,": ",TF1[i]);
   }
   Print("=====Проверяем массив типа STRING=====");
   for(i=0;i<4;i++) {
      Print("string, элемент №",i,": ",TF2[i]);
   }
   Print("Меняем размер массива STRING");
   ArrayResize(TF2,2);
   Print("string, новый размер: ", ArraySize(TF2));
   for(i=0;i<4;i++) {
      Print("string, элемент №",i,": ",TF2[i]);
   }
   Print("Присваиваем в несуществующие ячейки массива элементы");
   Print("TF2[2]=t;   TF2[3]=k; и смотрим, что получилось");
   TF2[2]="t"; TF2[3]="k";
   for(i=0;i<4;i++) {
      Print("string, элемент №",i,": ",TF2[i]);
   }
   Print("ВУАЛЯ!!!");
   return;
}
//+------------------------------------------------------------------+

15:56:32 111 USDJPY,H1: loaded successfully
15:56:36 111 USDJPY,H1: =====Проверяем массив типа INT=====
15:56:36 111 USDJPY,H1: int, элемент №0: 1
15:56:36 111 USDJPY,H1: int, элемент №1: 2
15:56:36 111 USDJPY,H1: int, элемент №2: 3
15:56:36 111 USDJPY,H1: int, элемент №3: 4
15:56:36 111 USDJPY,H1: Меняем размер массива INT
15:56:36 111 USDJPY,H1: int, новый размер: 2
15:56:36 111 USDJPY,H1: int, элемент №0: 1
15:56:36 111 USDJPY,H1: int, элемент №1: 2
15:56:36 111 USDJPY,H1: int, элемент №2: 0
15:56:36 111 USDJPY,H1: int, элемент №3: 0
15:56:36 111 USDJPY,H1: Присваиваем в несуществующие ячейки массива элементы
15:56:36 111 USDJPY,H1: TF1[2]=5; TF1[3]=6; и смотрим, что получилось
15:56:36 111 USDJPY,H1: int, элемент №0: 1
15:56:36 111 USDJPY,H1: int, элемент №1: 2
15:56:36 111 USDJPY,H1: int, элемент №2: 0
15:56:36 111 USDJPY,H1: int, элемент №3: 0
15:56:36 111 USDJPY,H1: =====Проверяем массив типа STRING=====
15:56:36 111 USDJPY,H1: string, элемент №0: a
15:56:36 111 USDJPY,H1: string, элемент №1: b
15:56:36 111 USDJPY,H1: string, элемент №2: c
15:56:36 111 USDJPY,H1: string, элемент №3: d
15:56:36 111 USDJPY,H1: Меняем размер массива STRING
15:56:36 111 USDJPY,H1: string, новый размер: 2
15:56:36 111 USDJPY,H1: string, элемент №0: a
15:56:36 111 USDJPY,H1: string, элемент №1: b
15:56:36 111 USDJPY,H1: string, элемент №2:
15:56:36 111 USDJPY,H1: string, элемент №3:
15:56:36 111 USDJPY,H1: Присваиваем в несуществующие ячейки массива элементы
15:56:36 111 USDJPY,H1: TF2[2]=t; TF2[3]=k; и смотрим, что получилось
15:56:36 111 USDJPY,H1: string, элемент №0: a
15:56:36 111 USDJPY,H1: string, элемент №1: b
15:56:36 111 USDJPY,H1: string, элемент №2: k
15:56:36 111 USDJPY,H1: string, элемент №3: k
15:56:36 111 USDJPY,H1: ВУАЛЯ!!!

Что удивляет:

- При присваивании значений в несуществующие элементы массива обоих типов не выводиться предупреждение об ошибке

- В несуществующих элементах строкового массива всетаки сохраняется последнее присваиваемое значение.