![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Инициализация массивов
Как и простые переменные, массивы могут быть инициализированы при объявлении. Инициализатор для объектов составных типов (каким является массив) состоит из списка инициализаторов, разделенных запятыми и заключенных в фигурные скобки. Каждый инициализатор в списке представляет собой либо константу соответствующего типа, либо, в свою очередь, список инициализаторов. Эта конструкция используется для инициализации многомерных массивов. Наличие списка инициализаторов в объявлении массива позволяет не указывать число элементов по его первой размерности. В этом случае количество элементов в списке инициализаторов и определяет число элементов по первой размерности массива. Тем самым определяется размер памяти, необходимой для хранения массива. Число элементов по остальным размерностям массива, кроме первой, указывать обязательно. Если в списке инициализаторов меньше элементов, чем в массиве, то оставшиеся элементы неявно инициализируются нулевыми значениями. Если же число инициализаторов больше, чем требуется, то выдается сообщение об ошибке. Примеры инициализации массивов:
Обратите внимание, что не существует присваивания массиву, соответствующего описанному выше способу инициализации.
26. Си. Примеры работы с одномерными массивами: ввод/вывод
В языке C нет возможности вводить и выводить весь массив одним оператором ввода/вывода. Можно вводить и выводить только один элемент массива. Следовательно, для того чтобы ввести весь массив, надо использовать цикл.
Вывод также осуществляется в цикле.
В результате на экране мы увидим примерно следующий текст: a[1] = 4 a[2] = 15 a[3] = -2 ...
27. Си. Примеры работы с одномерными массивами: суммирование значений Даны три массива разной размерности. Определить в каком массиве больше сумма элементов.
28. Си. Примеры работы с одномерными массивами: нахождение максимального элемента #include < iostream> using namespace std; int main() { int m[10], I, min, max; for(i=0; i< 10; i++){ cin> > m[i]; } max=m[0]; for(i=1; i< 10; i++){ if(max< m[i])max=m[i]; } min=m[0]; for(i=1; i< 10; i++){ if(min> m[i]) min = m[i]; } cout< < " min = " < < min< < endl; cout< < " max = " < < max;
system(" PAUSE"); return 0; } 29. Си. Примеры работы с одномерными массивами: циклический сдвиг
//Cдвигает элементы массива на 1 влево
#include < iostream> #include < iterator> #include < algorithm>
int main() { std:: size_t const arraySize = 10; int array[arraySize] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
std:: rotate(array, array + 1, array + arraySize);
std:: copy(array, array + arraySize, std:: ostream_iterator< int> (std:: cout, " ")); std:: cout < < std:: endl; }
30. Си. Примеры работы с одномерными массивами: поиск элемента /* Бинарный поиск */ #include main() { int k[100], v, i, j, m; for (i=0; i< 100; i++) scanf(" %d", & k[i]); scanf(" %d", & v); i=0; j=100; m=50; while (k[m]! =v) { if (k[m] < v) i+=m; else j=m-i; m=(i+j)/2; } printf(" %d %d", v, m); }
31. Си. Примеры работы с одномерными массивами: алгоритмы сортировки массивов
|