Лекции по проге / 5_Одномерные массивы (1)
.pdf
Задание
Закодируйте алгоритм для поиска минимального элемента в одномерном массиве vector[] длиной N
21
Пример поиска минимального элемента массива
const int N = 10; |
// кол-во элементов массива |
|
int vector[N]; |
// сам массив |
|
int i; |
|
// индексы элементов массива |
int i_min; |
// индекс минимального элемента |
|
// Ищем |
минимальный элемент массива |
|
i_min = |
0; |
|
for(i = |
1; i <= N-1; i++) |
|
{ |
|
|
if(vector[i] < vector[i_min]) { i_min = i; }
}
22 printf("%d", vector[i_min]);
Это надо помнить!
●Доступ к значениям массива осуществляется по индексам. Индекс и значение элемента — разные вещи: индекс это его порядковый номер, а значение это то, что реально находится по этому номеру
i ≠ a[i]
●Индекс первого элемента массива в языке Си всегда равен 0
●Количество элементов массива неизменно и задается при его объявлении. Оно не может зависеть от значе-
23 ний переменных
Ошибки при компиляции для VS 2008 Russian
●требуется константное выражение — размер массива задан неконстантным выражением
●неизвестный размер — не задан (или неправильно задан) размер массива ...
●слишком много инициализаторов — массив инициализируется константным массивом большего размера
●синтаксическая ошибка: ] — обращение к элементу массива без указания его индекса (пустые
24 квадратные скобки)
Ошибки при выполнении программы для VS 2008 Russian
●Необработанное исключение в "..." в "...": 0xC0000005: Нарушение прав доступа при записи "...". — возникает при обращении к несуществующему элементу массива ... — выход за пределы массива (может и не вызывать такой ошибки)
25
Ошибки при компиляции для VS 2005 English
●expected constant expression — размер массива задан неконстантным выражением
●'...' : unknown size — не задан (или неправильно задан) размер массива ...
●too many initializers — массив инициализируется константным массивом большего размера
●syntax error : ']' — обращение к элементу массива без указания его индекса
26
Ошибки при выполнении программы для VS 2005 English
●Run-Time Check Failure #2 - Stack around the variable '...' was corrupted. — возникает при обращении к несуществующему элементу массива ... — выход за пределы массива
27
