Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
С++_навч_пос14_new.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.86 Mб
Скачать

2.20 Масиви

#include <iostream.h>

void main()

{

//оголошення масиву дійсних чисел A розміром 3

float A[3];

//оголошення і ініціалізація масиву цілих чисел B розміром 3

int B[3]={1,3,5};

//оголошення і ініціалізація масиву дійсних чисел C

float C[]={1.1,0.2,3.5};

//оголошення і ініціалізація масиву цілих чисел D розміром 2х2

int D[2][2]={4,5,1,3};

A[0]=1.2;//присвоєння першому елементу масиву A 1.2

A[1]=1.7;//присвоєння другому елементу масиву A 1.7

A[2]=0.5;

D[0][1]=2;

//вивід вмісту масивів A,B,C

for(int i=0;i<3;i++)

cout<<A[i]<<" "<<B[i]<<" "<<C[i]<<endl;

//вивід вмісту масиву D

for(int i=0;i<2;i++)

{

for(int j=0;j<2;j++)cout<<D[i][j]<<" ";

cout<<endl;

}

}

2.21 Динамічні масиви

#include <iostream.h>

void main()

{

//динамічно виділити пам’ять

//для масиву цілих чисел A розміром 3

int *A=new int[3];

//заповнити масив числами 0,1,2 і вивести його

for(int i=0;i<3;i++)

{

*(A+i)=i;//присвоїти елементам масиву i

cout<<A[i]<<endl;

}

//динамічно виділити пам’ять

//для масиву *B розміром 2

int **B=new int*[2];

int k=0;

//заповнити двовимірний динамічний масив 2х3

for(int i=0;i<2;i++)

{

//динамічно виділити пам’ять

//для масиву B[i] розміром 3

B[i]=new int[3];

for(int j=0;j<3;j++)

{

*(B[i]+j)=k++;//присвоїти елементам масиву k

cout<<*(B[i]+j)<<" ";//вивести елемент

//або cout<<*(*(B+i)+j)<<" ";

//або cout<<B[i][j]<<" ";

}

delete[]B[i];//вивільнити пам’ять для масиву B[i]

cout<<endl;

}

delete[]A;//вивільнити пам’ять для масиву A

delete[]*B;//вивільнити пам’ять для масиву *B

}

2.22 Перерахований тип enum

#include <iostream.h>

void main()

{

//перерахований тип days

enum days {sun=1,mon,tues,wed,thur,fri,sat};

int day;

//вивести 1234567

cout<<sun<<mon<<tues<<wed<<thur<<fri<<sat<<endl;

cin>>day;

if (day==sun||day==sat) cout<<"weekend";

else cout<<"not weekend";

}

2.23 Створення функцій С++

#include <iostream.h>

int sum1(int a,int b=0);//оголошення функції sum1

int sum2(int *a,int *b) //оголошення функції sum2

//параметри функції - вказівники

{

int c=*a+*b;//оголошення локальної змінної с

*a=2;*b=2;//зміна аргументів

return c;//функція повертає значення c цілого типу

}

int sum3(int &a,int &b) //оголошення функції sum3

//параметри функції - посилання

{

int c=a+b;//оголошення локальної змінної с

a=3;b=3;//зміна аргументів

return c;//функція повертає значення c цілого типу

}

void main() //головна функція

{

cout<<sum1(5,6)<<endl;//передача аргументів по значенню, результат=11

cout<<sum1(5)<<endl;//передача аргументів по значенню, результат=5

int a=1,b=2; //оголошення локальних змінних

int *pa=&a,*pb=&b;//оголошення вказівників на ці змінні

cout<<sum2(pa,pb)<<endl;//передача аргументів по посиланню, результат=3

cout<<sum2(&a,&b)<<endl;//передача аргументів по посиланню, результат=4

cout<<sum3(a,b)<<endl;//передача аргументів по посиланню, результат=4

cout<<a<<","<<b<<endl;//результат=3,3

}

int sum1(int a,int b) //визначення функції sum1

{return a+b;}//функція повертає значення a+b цілого типу

2.24 Глобальні, локальні і статичні змінні

#include <iostream.h>

float x;//глобальна змінна

float sum(float a,float b)//функція sum

{

//a, b - локальні змінні

static int k=0;//статична змінна

float x;//локальна змінна для sum

x=a+b;

cout<<++k<<endl;

return x;

}

void main()

{

float x;//локальна змінна для main

x=5;

::x=6;//доступ до глобальної змінної

cout<<sum(x,::x)<<endl;

cout<<sum(1,3)<<endl;

}