Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Си. Массивы: объявление массивов↑ ⇐ ПредыдущаяСтр 7 из 7 Содержание книги Похожие статьи вашей тематики
Поиск на нашем сайте
Массив – это совокупность данных, которая обладает следующими свойствами: все элементы массива имеют один и тот же тип; массив имеет одно имя для всех элементов; доступ к конкретному элементу массива осуществляется по индексу (индексам). 1. Объявление массива Объявление массива имеет следующий синтаксис: <спецификация типа> <имя> [<константное выражение>]; <спецификация типа> <имя> [ ]; Здесь квадратные скобки являются элементом синтаксиса, а не признаком необязательности конструкции. Объявление массива может иметь одну из двух синтаксических форм, указанных выше. Квадратные скобки, следующие за именем, – признак того, что переменная является массивом. Константное выражение, заключенное в квадратные скобки определяет число элементов в массиве. Индексация элементов массива в языке C++ начинается с нуля. Таким образом, последний элемент массива имеет индекс на единицу меньше, чем число элементов массива. Во второй синтаксической форме константное выражение в квадратных скобках опущено. Эта форма может быть использована, если в объявлении массива присутствует инициализатор, либо массив объявляется как формальный параметр функции, либо данное объявление является ссылкой на объявление массива где-то в другом месте программы. Однако для многомерного массива может быть опущена только первая размерность. Многомерный массив, или массив массивов, объявляется путем задания последовательности константных выражений в квадратных скобках, следующей за именем: <спецификация типа> <имя> [<константное выражение>][<константное выражение>]...; Каждое константное выражение определяет количество элементов в данном измерении массива, поэтому объявление двумерного массива содержит два константных выражение, трехмерного – три и т.д. Массив может состоять из элементов любого типа, кроме типа void и функций, т.е. элементы массива могут иметь базовый, перечислимый, структурный тип, быть объединением, указателем или массивом. Примеры объявлений массивов:
Инициализация массивов Как и простые переменные, массивы могут быть инициализированы при объявлении. Инициализатор для объектов составных типов (каким является массив) состоит из списка инициализаторов, разделенных запятыми и заключенных в фигурные скобки. Каждый инициализатор в списке представляет собой либо константу соответствующего типа, либо, в свою очередь, список инициализаторов. Эта конструкция используется для инициализации многомерных массивов. Наличие списка инициализаторов в объявлении массива позволяет не указывать число элементов по его первой размерности. В этом случае количество элементов в списке инициализаторов и определяет число элементов по первой размерности массива. Тем самым определяется размер памяти, необходимой для хранения массива. Число элементов по остальным размерностям массива, кроме первой, указывать обязательно. Если в списке инициализаторов меньше элементов, чем в массиве, то оставшиеся элементы неявно инициализируются нулевыми значениями. Если же число инициализаторов больше, чем требуется, то выдается сообщение об ошибке. Примеры инициализации массивов:
Обратите внимание, что не существует присваивания массиву, соответствующего описанному выше способу инициализации.
Си. Примеры работы с одномерными массивами: ввод/вывод
В языке C нет возможности вводить и выводить весь массив одним оператором ввода/вывода. Можно вводить и выводить только один элемент массива. Следовательно, для того чтобы ввести весь массив, надо использовать цикл.
Вывод также осуществляется в цикле.
В результате на экране мы увидим примерно следующий текст: a[1] = 4 a[2] = 15 a[3] = -2 ...
Си. Примеры работы с одномерными массивами: суммирование значений Даны три массива разной размерности. Определить в каком массиве больше сумма элементов.
Си. Примеры работы с одномерными массивами: нахождение максимального элемента #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; } Си. Примеры работы с одномерными массивами: циклический сдвиг
//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; }
Си. Примеры работы с одномерными массивами: поиск элемента /* Бинарный поиск */ #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); }
Си. Примеры работы с одномерными массивами: алгоритмы сортировки массивов Сортировка выбором Идея метода состоит в том, чтобы создавать отсортированную последовательность путем присоединения к ней одного элемента за другим в правильном порядке. Если входная последовательность почти упорядочена, то сравнений будет столько же, значит алгоритм ведет себя неестественно. template< class T > void selectSort(T* arr, int size) { T tmp; for(int i = 0; i < size; ++i) // i - номер текущего шага { int pos = i; tmp = arr[i]; for(int j = i + 1; j < size; ++j) // цикл выбора наименьшегоэлемента { if (arr[j] < tmp) { pos = j; tmp = arr[j]; } } arr[pos] = arr[i]; arr[i] = tmp; // меняем местами наименьший с a[i] } }
|
|||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-25; просмотров: 484; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.26.231 (0.007 с.) |