1
Робота з масивами в мові програмування С++
Масив це структура даних, що дозволяє об’єднувати сукупність однотипних даних які зберігаються під спільним ім’ям.
Для оголошення масиву необхідно вказати тип масиву, його ім'я та кількість значень, які масив буде зберігати.
Для збереження значення елемента в масиві та звернення до нього треба указати ім’я масиву та індекс елемента масиву, у якому зберігатиметься значення.
Оголошення масиву
Для оголошення масиву необхідно указати тип масиву, його унікальне ім’я та кількість елементів, що може зберігатися в масиві.
. Наприклад, оголошення трьох різних масивів:
float А[50];
int B[100];
float С[25];
Ініціалізація масиву при оголошенні
В мові C++ дозволяється ініціалізувати змінні при оголошенні. Це зберігається й для масивів.
Наприклад:
int А[5] = { 100, 200, 300, 400, 500};
float В[3] = { 25000.00. 35000.00, 50000.00};
Наступне оголошення та ініціалізація масиву, дозволяє зберігати в масиві D чотири значення цілого типу.
int D[] = { 1,2,3,4};
Звернення до елемента масиву
. Перший елемент масиву в С++ має індекс 0. Для звернення до певних значень, що зберігається в масиві, використовується значення індексу, що вказує на необхідний елемент. Наприклад, для звернення до першого елемента масиву А необхідно використати значення індексу 0 (А[0]). Для звернення до другого елемента використовується індекс 1 (А[1]). Подібно цьому, для звернння до третього елемента використовується індекс 2 (А[2]) і т.п.
Обробка елементів масиву
Задача1. Дан масив А[n] і число К=5. Видалити К-ий елемент масива.
#include<iostream.h>
#include<conio.h>
void main()
{ const n=7;
int k=5; int i; int a[n];
соut<"Ввести елементи масива"«еndl;
for(i=0; i<n; i++)
cin»a[i];
for(i=k-l; i<=n-l; i++) a[i]=a[i+l];
for(i=0; i<n-l; i++) cout«a[i]«"\t"; system("Pause");}
Приклад 1
В одновимірному масиві обчислити мінімальний по модулю елемент, суму модулів елементів, які розташовані після нульового елементу, впорядкувати масив (спочатку парні елементи, потім непарні).
#include <iostream> #include <conio.h> #include <cmath> using namespace std; void main() { const int n = 6; int a[n], min, s = 0; bool t = false; for (int i = 0; i < n; i++) { cout << "Vvedite elem" << endl; cin >> a[i]; if (a[i] == 0) t = true; if (t == true) s += a[i]; } cout << "Nachalnyi massiv " << endl; min = a[1]; for (int i = 0; i < n; i++) { cout << a[i] << "\t"; if (abs(a[i]) < min) min = a[i]; } cout << endl; cout << "minimal elem po moduly " << min << endl; cout << "Suma elemov posle 0 " << s << endl; int i, j,r; i = 1; if (n % 2 == 0) j = n-2; else j = n-1; while (i < j) { r = a[i]; a[i] = a[j]; a[j] = r; i += 2; j -= 2; } cout << "Konechnyi masiv " << endl; for (int i = 0; i < n; i++) cout << a[i] << "\t"; system("Pause");} |
Приклад 2
Здійснити циклічне зміщення елементів прямокутної матриці на К елементів праворуч. Значення К може бути більше ніж стовпчиків в матриці.
Робота з елементами двомірного масиву.
Двомірний масив - це масив одномірних масивів.
Оголошення масиву
Для оголошення двомірного масиву необхідно указати тип масиву, його унікальне ім’я та розміри вимірів
тип ім'я масиву [розмір виміру1] [розмір виміру2];
int d[15][9];
Двомірний масив зберігається у вигляді матриці, де перший індекс відповідає за рядок, а другий - за стовпець.
Доступ до елемента в n-му рядку та k-му стовбчику - d[n] [k].
Ініціалізація масивів
Можливо ініціалізувати масиви на етапі їхнього оголошення:
1. int mas[3][2]={l,2,3,4,5,6};
2. int mas[] [3]={1,2, З, 4, 5,6};
Звернення до елемента масиву
. Перший елемент двомірного масиву в С++ має індекси 0, 0. Для звернення до певних значень, що зберігається в масиві, використовується значення індексів що вказують на необхідний елемент. Наприклад, для звернення до першого елемента двомірного масиву А необхідно використати значення індексів [0][0] (А[0][0]). Для звернення до другого елемента першого рядка використовується індекси [0][1] (А[0][1]). Подібно цьому, для звернення до третього елемента першого рядка використовується індекси [0][2] (А[0][2]) .
Обробка елементів масиву
Задача2. Пошук максимального елементf в двомірному масиві A[n][m].
#include iostream>
#include <conio.h>
using namespace std;
void main()
{
const n=3; m=4;
int A[n][m];
int i,j,max,x,y;
соut«"Ввести елементи масива"«еndl;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cin»A[i][j]; max=A[0][0];
x=0; y=0;
for(i=0;i<n;i++) for(j=0,j<m;j++)
if (A[i][j]>max) {max=A[i][j]; x=i; y=j;}
cout«"max елемент="«max«" "«"Знаходиться на позиції"«х«":"«у;
system("Pause");}
Робота з елементами квадратних матривць.
Квадратною матрицею називається двовимірний масив, у якого кількість рядків дорівнює кількості стовпців. Оскільки це лише особливий випадок звичайного двовимірного масиву, то спосіб його оголошення не відрізняється:
тип ім'я масиву [розмір виміру] [розмір виміру];
int d[11][11];
Задача 3.Заповнити матрицю випадковими числами. Знайти суму елементів розташованих на бічній діагоналі..
#include <iostream.h>
#include <conio.h>
using namespace std;
void main ()
{const n=5;
int a[n][n];
int b[n];
int i, j, s;
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{cout <<"Vved el. masuvy:"<< endl;
cin >> a[i][j];}
s=0;
for (i=0; i<n; i++)
for (j=0; j<n; j++)
if (i+j==n-1)
s=s+a[i][j];
cout <<"Dryk:"<< endl;
cout <<s<< endl;
system("Pause");}