Главная » Статьи » Програмування » C [ Добавить статью ]

RUS Уроки по программированию на языке С (Создание массива и заполнение его данными.)

  • Создание массива и заполнение его данными.

    Синтаксис объявления массива.

    Для начала, нам необходимо научиться создавать массив. А, для этого - во-первых, определить общий синтаксис. Во-вторых, выяснить, каким правилам и ограничениям этот синтаксис подчиняется.

    тип_данных имя_массива[количество_элементов];

    1. тип_данных - любой из существующих, известных вам типов данных. Именно этим типом будет обладать каждый элемент массива.

    2. имя_массива - любое имя, которое подчиняется "правилам имен переменных" (эти правила мы рассматривали с Вами в первом уроке).

    3. количество_элементов - число элементов в массиве. На данном месте должно находиться - целочисленное константное значение. Таким значением может быть - либо целочисленный литерал, либо константная целочисленная переменная.

    Примечание: Обратите внимания, что количество элементов массива должно быть определенно на этапе создания программы. Другими словами, задать размерность такого массива в зависимости от какого-то условия или по решению пользователя невозможно. Это приведет к ошибке на этапе компиляции.
    Вариант первый.

    Объявлен массив ar, состоящий из 5 элементов, каждый из которых имеет тип данных int.

    int ar[5];
    Вариант второй.

    Объявлена константа size, значение которой равно 3, а затем, массив br, состоящий из 3 элементов, каждый из которых имеет тип данных double.

    const int size=3;
    double br[size];
    Примечание: Мы рекомендуем вам использовать вторую форму записи, так как она является более корректной и удобной.

    Обращение к элементам массива.

    Рассмотрим, как обратиться к конкретному элементу массива.

    запись значения
    
    имя_массива[индекс_элемента]=значение;
    
    получение значения
    
    cout<<имя_массива[индекс_элемента];
    

    Здесь, на место индекса_элемента может быть подставленно ЛЮБОЕ целочисленное значение, в том числе выражение, результатом которого является целое число.

    const int size=5;
    int ar[size]; // создание массива
    ar[2]=25; // запись значения 25 в элемент с индексом 2
    cout<<ar[2]<<"\n"; // вывод на экран значения элемента с индексом 2 - 25
    
    Примечание: Еще раз напоминаем - нумерация элементов в массиве начинается с нуля!!! Таким образом в массиве из 5 элементов - последний элемент имеет индекс 4. Выходить за пределы массива нельзя, это приведет к ошибке на этапе выполнения.

    Варианты инициализации массива.

    Заполнить массив данными можно двумя способами:

    Первый способ – инициализация при создании.

    тип_данных имя_массива[количество элементов]={значение1, значение2, значение3, … значение n};

    const int size=3; 
    int ar[size]={1,30,2};
    

    При такой форме инициализации есть некоторые особенности:

    1. Все значения списка инициализации имеют такой же тип данных, как и сам массив, поэтому при создании количество элементов можно не указывать. Операционная система сама определит размер массива исходя из числа элементов в списке инициализации.

    тип_данных имя_массива[]={значение1, значение2, значение3, … значение n};

    int ar[]={1,30,2}; //В данной строке массив автоматически получит размер 3.
    

    2. Если число элементов в списке инициализации меньше чем число элементов массива, то оставшиеся значения автоматически заполняются нулями:

    int ar[5]={1,2,3};

    такая запись эквивалентна записи:

    int ar[5]={1,2,3,0,0};

    3. Если значений в списке инициализации больше чем количество элементов массива, то происходит ошибка на этапе компиляции:

    int array[2]={1,2,3}; // ошибка на этапе компиляции

    Второй способ - инициализация массива при помощи цикла.

    В этом случае заполнить массив значениями, можно с помощью пользователя.

    #include<iostream>
    using namespace std;
    void main()
    {
     const int size=3;
     int ar[size]; //создание массива из трех элементов
     for (int i=0;i<size;i++) //цикл перебирающий элементы массива
     {
     cout<<"Enter element\n";
     
     //на каждой итерации цикла пользователю подставляется элемент
     //с индексом i для заполнения. секрет в том, что i - каждый раз
     //новое значение 
     cin>>ar[i]; 
     }
    }
    

    Показ содержимого массива на экран.

    Вы, наверняка уже догадываетесь, что большинство операций с массивами удобнее проводить с помощью циклов, по очереди перебирая элементы. Это действительно так и показ на экран не вляется исключением. Приведем пример полной программы, которая создает, заполняет и показывает на экран массив.

    #include<iostream>
    using namespace std;
    void main()
    {
     const int size=3;
     int ar[size]; //создание массива из трех элементов
     for (int i=0;i<size;i++) //цикл перебирающий элементы массива
     {
     cout<<"Enter element\n";
     
     //на каждой итерации цикла пользователю подставляется элемент
     //с индексом i для заполнения. секрет в том, что i - каждый раз
     //новое значение 
     cin>>ar[i]; 
     }
     cout<<"\n\n";
     for (i=0;i<size;i++) //цикл перебирающий элементы массива
     {
     cout<<ar[i]<<"\n"; //показ элемента с индексом i на экран 
     }
    }
    

Категория: C | Добавил: DEN-SHP (05.11.2012)
Просмотров: 1109 | Комментарии: 2 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]