
Массивы
http://iguania.ru/uchebnik-po-osnovam-programmirovaniya-dlya-nachinaiuschich/glava-13-kuda-zhe-bez-massivov.html
Одномерные массивы
http://iguania.ru/uchebnik-po-osnovam-programmirovaniya-dlya-nachinaiuschich/glava-14-odnomernie-massivi.html
Для создания массива надо написать тип (аналогичен типам переменных) затем имя_массива и в квадратных скобках количество_элементов:
int numbers[1000]; // массив на 1000 числовых элементов
float test[10]; // массив на 10 вещественных чисел
int Arr[10] = {0,1,2,3,4,5,6,7,8,9}; //инициализированный массив 10 целых чисел
Для доступа к n-ому элементу необходимо написать:
Имя_массива[номер_элемента]
и работать с ним как с обычной переменной.
Пример:
numbers[200]=201; //записать в 200 элемент число 201
test[1]=0,5; // в 1 элемент записать 0,5
test[9]=10; // в 9 элемент записать число 10
int a=5;
numbers[test[9]]=111; /*записать в элемент массива numbers с номером, равным содержимому test[9], число 111*/
test[a]=2; // записать в элемент массива с номером, равным a, число 2
cout <<Arr[1];
Внимание!!! Нумерация элементов начинается с 0, а не с 1. То есть, массив
int test[3]
состоит из:
test[0], test[1], test[2]
for (int i=0; i<=9; i++) {cout <<Arr[i]<<” ”;}//тк 10 элементов, но они нумеруются с нулевого!
Задача 1: даны 2 массива – массив A целых чисел (задается программой), массив B вещественных чисел (пользователь заполняет с клавиатуры); каждый из массивов содержит по 5 элементов. Сформировать массив С – сумму элементов массивов А и B. Вывести все массивы на экран.
#include <iostream>
using namespace std;
int main()
{
int A[5]={1,-1,0,2,3};
float B[5],C[5];
int i;
//Вывод массива А
for (i=0;i<5;i++)
{ cout<<"A["<<i<<"]="<<A[i]<<endl; }
//Ввод массива В
for (i=0;i<5;i++)
{ cout<<"B["<<i<<"]=";cin>>B[i]; }
//Получение массива С и вывод его на экран
for (i=0;i<5;i++)
{
C[i]=A[i]+B[i];
cout<<"C["<<i<<"]="<<C[i]<<endl;
}
return 0;
}
!!! Лучше если размерность массива будет задана изначально константой (проще менять программу)
#include <iostream>
using namespace std;
Int main()
{
const int n=5;
int A[5]={1,-1,0,2,3};
float B[n],C[n];
int i;
//Вывод массива А
for (i=0;i<n;i++)
{
cout<<"A["<<i<<"]="<<A[i]<<endl;
}
//Ввод массива В
for (i=0;i<n;i++)
{
cout<<"B["<<i<<"]=";cin>>B[i];
}
//Получение массива С и вывод его на экран
for (i=0;i<n;i++)
{
C[i]=A[i]+B[i];
cout<<"C["<<i<<"]="<<C[i]<<endl;
}
return 0;
}
Примеры из практикума
Задача: Определить – сколько положительных элементов располагается между минимальным и максимальным
#include <iostream>
using namespace std;
Int main()
{
const int n=10;
int a[n]={1,3,-5,1,-2,1,-1,3,8,4};
int i,imax,imin,count;
for (i=imax=imin=0;i<n;i++)
{
if (a[i]>a[imax]) imax=i;
if (a[i]<a[imin]) imin=i;
}
cout <<" max= "<<a[imax]<<" min= "<<a[imin];
int ibeg=imax < imin ? imax : imin;
int iend=imax > imin ? imax : imin;
cout <<" ibeg= "<<ibeg<<" iend= "<<iend;
for (count=0,i=ibeg+1;i<iend;i++)
if (a[i]>0) count++;
cout <<"Koli4estvo polozitelnih: "<<count<<endl;
cin.get();cin.get();
return 0;
}
Заполнение массива случайными числами
int rand;
Функция rand возвращает псевдослучайное целое в интервале от 0 до 32767. Процедура srand может использоваться перед вызовом rand для установки начальной случайной точки. Возвращаемое значение. Функция rand возвращает псевдослучайное число.
Функция srand() устанавливает свой аргумент как основу (seed) для новой последовательности псевдослучайных целых чисел, возвращаемых функцией rand(). Эту последовательность можно воспроизвести. Для этого необходимо вызвать srand() с соответствующей величиной seed.
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;