Iі спосіб. Ініціалізація масиву відбувається так:
int child[3];
child[0] = 2;
child[1] = 12;
child[2] = 1;
Масив можна використовувати в функціях, але ми з вами лише поверхово знайомимося з програмуванням, тому це ми вивчати не будемо.
Часто буває так, що точний розмір масиву невідомий та може змінюватися при кожному запуску програми. Найбільш вигідне рішення такої задачі – це масив з найбільшою кількістю індексів, які можуть знадобитися в програмі. У такому випадку програма можу використати весь масив або лише ту його частину, яка потрібна!
В наступній програмі ілюструється приклад часткового заповнення масиву. За кількістю заповнених елементів масиву слідкує змінна number_user, елементи зберігаються в масиві score, з нумерацією від 0 до (number_user – 1).
Listing 2
//Програма зчитує значення (менше 100) і визначає їх суму.
#include <iostream>
#include <conio.h> // Для функции getch()
using namespace std;
int main()
{
setlocale(LC_ALL, "rus"); // Вивід тексту на російській мові
const int number_score = 100;
int i(0), score [number_score], sum(0), number_user(0), next(0), index(0);
cout<<”Введіть значення не більше”<< number_score
<<”цілих чисел, кінець списку позначте від’ємним числом:”<<endl;
cin>>next;
while((next>=0) && (index< number_score))
{
score [index]=next;
index++;
cin>>next;
}
number_user = index;
for(i=0;i<number_user; i++)
{
sum=sum+score[i];
}
cout<<”Сума всіх значень дорівнює ”<<sum<<endl;
getch(); // затримка екрана до натискання будь-якої клавіши
return 0;
}
Пошук даних в масиві виконується за допомогою методу послідовного пошуку (програма просто порівнює елемент з елементами масиву і виводить висновок). Для пошуку в масиві використовується порівняння елементів масиву з числом. Якщо елемент порівняння в масиві відсутній, то функція виводить значення -1.
Змінна target – це елемент для пошуку в масиві
// Програма для пошуку в масиві числа
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int i(0), score[i], target(0), k(0), elem(-1);
cout<<" Введіть 5 значень "<<endl;
cin>>score[0]>>score[1]>>score[2]>>score[3]>>score[4];
cout<<endl;
cout<<"Введіть число для пошуку в масиві "<<endl;
cin>>target;
cout<<endl;
cout<<"Ви ввели "<<target<< " число"<<endl;
i=0;
while(i < 5)
{
if(target == score[i])
{
elem=i;
}
i++;
}
if(elem==-1)
{
cout<<target<<"Число не знайдено! ";
}
if(elem>-1)
{
cout<<" Число "<<target<< " знаходиться під елементом масиву " <<elem<<endl;
}
getch();
return 0;
}
Розглянемо задачу по сортуванню списку значень, наприклад для розташування елементів масиву за зростанням або спаданням (можна за алфавітом, якщо це символи).
#include <iostream>
#include <conio.h>
void fill_array(int a[], int size, int& number_user);
void sort(int a[], int number_user);
void values(int& v1,int& v2);
void index_small(const int a[],int start_index, int number_user);
int main()
{
using namespace std;
setlocale(LC_ALL, "rus");
int sample_array[10], number_user;
fill_array(sample_array, 10, number_user);
sort(sample_array,number_user);
cout<<"Sortirovanie Chasla: "<<endl;
for(int index=0; index<number_user; index++)
cout<<sample_array[index]<<" ";
cout<<endl;
getch();
return 0;
}
void fill_array(int a[], int size, int& number_user)
{
using namespace std;
cout<<"Vvedite nt bolee "<<size<<" polojitelnih celih chisel"<<endl;
cout<<"Konec spiska oboznachte otricatelnim chislom"<<endl;
int next, index=0;
cin>>next;
while((next>=0)&&(index < size))
{
a[index]=next;
index++;
cin>>next;
}
number_user=index;
}
void sort(int a[], int number_user)
{
int index_of_next_small;
for(int index=0;index<(number_user-1);index++)
index_of_next_small=index_small(a,index,number_user);
values(a[index],a[index_of_next_small]);
}
}
void values(int& v1,int& v2)//
{
int temp;
temp=v1;
v1=v2;
v2=temp;
}
void index_small(const int a[],int start_index, int number_user)
{
int min = a[start_index], index_of_min=start_index;
for(index=start_index+1;index<number_user;index++)
if(a[index]<min)
{
min=a[index];
index_of_min=index;
}
return index_of_min;
}
