Массивы
•Массив это сложная структура данных, которая содержит множество одинаковых по типу и размеру элементов, у всех элементов одинаковое имя, отличаются элементы .
•Пример int x[5];-описание массива целого типа из 5 элементов
•При описании и работе с массивами следует различать максимальное количество элементов в массиве и реальное число элементов в массиве. Максимальное число элементов указывается при описании массива, когда под него выделяется компьютером память. В нашем случае в массиве может быть меньше 5 элементов, но не больше 5
•После выделения памяти под элементы массива, значения элементов отсутствуют. В выделенную память необходимо ввести значения элементов массива, но до их ввода надо знать их количество, так как выделенное место в памяти не обязательно заполняется полностью, поэтому, сначала, в диалоге выясним у пользователя программой , сколько элементов будет вводиться элементов, это число обозначим N. Это число – реальное количество элементов в массиве, которым будут заданы значения.
•Чтобы не оказалось, что введенное число N больше того значения, которое указано при описании массива, так как память выделена под число элементов, которое указано при описании массива , а в этом случае памяти не хватит, надо следить, чтобы введенное значение N было меньше того значения, которое указано в качестве верхней границы при описании массива, иначе мы имеем аномалию.
Проверка на аномалию
Проверка массива на аномалию.
Ввести значение N - это реальное количество элементов массива, проверить, если оно меньше чем верхняя граница массива, то ввести массив значений элементов массива можно, а затем приступить к решению задачи, иначе имеет место аномалия и программа должна выдать сообщение “ неверно заданные данные”.
if (N>5)cout<<“неверно заданные данные”; else { здесь решение задачи}
Обращение к элементам массива.
В С++ все элементы массива нумеруются от 0
Х[0]-первый элемент массива Х. Y[5] –шестой элемент массива Y.
C[i] – i-ый элемент массива С, такое обращение возможно, если к моменту обращения известно значение i, иначе компьютер не знает о каком элементе идет речь.
Ввод и вывод массивов
1.Ввод int x[10],n;
cout<<“n=?”;cin>>n;
if(n<0||n>=10)cout<<“error!”; else
for(i=0;i<n;i++)cin>>x[i];
2.Вывод for(i=0;i<n;i++)cout<<x[i]<<“ “; cout<<endl;
Обработка массива
1. Сумма элементов массива int x[10],n,s=0;
for(int i=0;i<n;i++)s=s+x[i];// вычисление суммы
2.Среднее отрицательных int x[10],n,s=0,k=0; float sr;
for(int i=0;i<n;i++) if(x[i]<0){k++;s=s+x[i];} if(k==0) cout<<“net otricatelnix”;
else sr= (float)s/k; cout<<“srednee=“<<sr;
Максимальный элемент и его номер
1.int x[10],n,nom,max1; nom=0;max1=x[0];
for(int i=1;i<n;i++)if(x[i]>max1){max1=x[i];nom=i;} cout<<“maxelem=“<<max1<<“nomer=“<<nom;
2.Обмен местами в массиве 2-х элементов
int i,j,temp;
temp=x[i]; x[i]=x[j];x[j]=temp;