Массивы в Си.

12 сентября 2018 - Администратор

Когда необходимо хранить и обрабатывать большое количество цифровой информации  о множестве объектов удобно использовать массивы информации.Массив – это набор однотипных объектов с общим именем, у каждого объекта есть свой уникальный номер(индекс) с помощью которого можно  с ним работать, изменять , запрашивать значение.Каждый такой объект называется элементом массива. Номер элемента массива – это его индекс.

 Объявление массива в Си

Чтобы работать с массивом данных в Си его необходимо сначала,   так же как и переменную объявить в начале программы или процедуры.

Нумерация  элементов,  индексов  в Си начинается с 0. Чтобы объявить,  массив нужно

Тип массива Имя массива [количество элементов массива -1];

Например,   объявлен массив  из   5 целочисленных  элементов координат  точек x

int x[4];

Типы элементов массива могут быть вещественные float, символьные char

Присвоение значений элементам массива.

Задать первоначальные значения элементам массива можно  явно при  его объявлении для этого используются фигурные скобки и в них через запятую перечисляются значения элементов массива. Число элементов должно совпадать с  размером массива

Например:

int x[4]={10, 20 ,3 , 5, 100};

задаст первоначальные значение  x[0]=10 ; x[1]=20; x[2]=3; x[3]=5; x[4]=100;

Можно задать значения  присвоением

x[1]=5;

ввести значение  элемента массива можно и с клавиатуры

scanf(“%d”, &x[1]); // элемент  массива x с индексом  1  будет введен с клавиатуры

Работа с массивами в Си

При работе  с массивами удобно использовать цикл for для того чтобы обработать все элементы массива

Общий формат обработки данных всего массива в Си

for ( int i=0; i<размер массива; i++) // пробегаем по всем элементам массива

{

Имя массива [i]= выражение; // обработка элемента массива с индексом i

}

 Пример программы  20. Вводится массив с клавиатуры, значения элементов массива увеличивается в 2 раза. Получившийся массив выводится на экран.

// работа с массивом

#include<iostream.h>

#include<conio.h>

int main()

{

   int a[9];// объявление целочисленного массива  a из 10 элементов

   int  i;// переменная для работы  с массивом в цикле

// ввод элементов массива с клавиатуры

for (i=0; i<10; i++)

{

   printf("Введите элемент  массива %d  ", i);

   scanf("%d", &a[i]);

   printf("\n");

}

// увеличиваем элементы массива в 2 раза

for (i=0; i<10; i++)

{

a[i]=2*a[i];

}

// выводим  массив на экран

for (i=0; i<10; i++)

{

 printf("%d\n ", a[i]);

}

   getch();            

}

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

При поиске минимального (максимального) элемента  в массиве необходимо   “пробежать” по всем элементам массива сравнивая  его элементы с текущим минимумом (максимумом) . Если текущий элемент окажется меньше  текущего минимального значение , то минимальному значению присваивается этот элемент массива.

Пример программы 21. Поиск минимального и максимального значения массива.

// работа с массивом поиск минимального и максимального значений

#include<iostream.h>

#include<conio.h>

int main()

   int a[9];// объявление целочисленного массива  a из 10 элементов

   int  i;// переменная для работы  с массивом в цикле

   int min;//  переменная для  минимального значения

   int max;//  переменная для  максимального значения

// ввод элементов массива с клавиатуры

for (i=0; i<10; i++)

{

   printf("Введите элемент  массива %d ", i);

   scanf("%d", &a[i]);

   printf("\n");

}

min =a[0];// присваиваем минимальному значению  значение первого элемента

max=a[0];// присваиваем максимальному значению  значение первого элемента

// пробегаем по всем элементам массива

for (i=1; i<10; i++)

{

// если текущий элемент массива меньше текущего минимума то присваиваем его значение минимуму

if (a[i]<min){min=a[i];};

// если текущий элемент массива больше  текущего максимума то присваиваем его значение максимуму

if (a[i]>max){max=a[i];};

}

// выводим значения на экран

 printf("Максимальное значение %d ",max);

 printf("Минимальное значение %d ",min);

   getch();           

}

   Вернуться к содержанию     Перейти к следующему уроку Матрицы в Си

Комментарии (0)

Нет комментариев. Ваш будет первым!