Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:18

Поиск минимального элемента в массиве

Автор Герман Штайнер, 05 мая 2013, 14:30

0 Пользователей и 1 гость просматривают эту тему.

Герман Штайнер

Здравствуйте подскажите  что неправильно написано в данном коде?




arr = Новый Массив (7);
 
arr[0]=9;
arr[1]=15;
arr[2]=3;
arr[3]=4;
arr[4]=5;
arr[5]=6;
arr[6]=56;


Для Каждого i Из arr Цикл
        Сообщить("Элемент массива: "+ i);
КонецЦикла;
  min = arr[0];
Для Каждого i Из arr Цикл
Если arr[i]< min Тогда
min = arr[i];
КонецЕсли;
КонецЦикла;


выдается сообщение что индекс находится за границами массива и не вычисляется минимальное значение элемента массива

pavl_vs

Цитата: Герман Штайнер от 05 мая 2013, 14:30
Здравствуйте подскажите  что неправильно написано в данном коде?
...
выдается сообщение что индекс находится за границами массива и не вычисляется минимальное значение элемента массива

Неправильно в качестве индекса использовать значение элемента массива; Ваша программка спотыкается на первом же шаге: массив размерностью 7, а первое значение массива, а значит и индекс 9; уже этого достаточно, чтобы никаких вычислений не происходило.


// Правильней будет так
arr = Новый Массив (7);
 
arr[0]=9;
arr[1]=15;
arr[2]=3;
arr[3]=4;
arr[4]=5;
arr[5]=6;
arr[6]=56;

Для Каждого i Из arr Цикл
           Сообщить("Элемент массива: " + i);
КонецЦикла;
min = arr[0];
Для Каждого i Из arr Цикл
   Если i < min Тогда
       min = i;
   КонецЕсли;
КонецЦикла;
Сообщить("------");
Сообщить("Минимальное значение: " + min);



Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск