Массивы в Си.
Когда необходимо хранить и обрабатывать большое количество цифровой информации о множестве объектов удобно использовать массивы информации.Массив – это набор однотипных объектов с общим именем, у каждого объекта есть свой уникальный номер(индекс) с помощью которого можно с ним работать, изменять , запрашивать значение.Каждый такой объект называется элементом массива. Номер элемента массива – это его индекс.
Объявление массива в Си
Чтобы работать с массивом данных в Си его необходимо сначала, так же как и переменную объявить в начале программы или процедуры.
Нумерация элементов, индексов в Си начинается с 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\n", i);
scanf("%d", &a[i]);
printf(" ");
}
// увеличиваем элементы массива в 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\n", i);
scanf("%d", &a[i]);
printf(" ");
}
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\n",max);
printf("Минимальное значение %d\n",min);
getch();
}
Вернуться к содержанию Перейти к следующему уроку Матрицы в Си
Полезно почитать по теме массивы в си
Матрицы в си
Сортировка массива
Анимация движение нескольких объектов
Поделиться:
Нет комментариев. Ваш будет первым!