Вывод строчные букв латинского алфавита и их кодировки.

# include <iostream.h>

void main()

{

char ch;

int i;

for ( ch=’a’;ch<=’z’;ch++ )

cout<<ch<<’ ’; // вывод символов(строчные буквы латинского алфавита)

cout<<endl;

for (i=’a’;i<’a’+26; i++)

cout<<i<<’ ‘; // вывод кода символов

cout<<endl;

}

Задача 5

Число итераций за 1 сек.

Секундомер

#include <iostream.h>

#include <stdlib.h>

#include <time.h>

void main()

{

int i, j, k, m;

int l=time (0);

int p=1;// число итераций за 1 сек

while (time (0)-l < 1)

{

cout<<time(0)<<':'<<'_';

p++;

// system("pause");

}

cout<<endl<<"p= "<<p<<endl;

// число итераций за 1 сек

cout<<endl;

cout<<"hours: minutes: second"<<endl;

for(m=0;m<=24;m++)

for(i=0; i<=59; i++)

for(j=0; j<=59;j++)

for (k=1;k<=100000;k++)// задержка

{

cout.fill('0'); cout.width(2);

cout<<m<<':';

cout.fill('0'); cout.width (2);

cout<<i<<':';

cout.fill('0'); cout.width (2);

cout<<j<<'\r';

}

cout<<endl;

}

Лекция №6

Массивы

а0, а1, а2,…….аn-1

Массив- конечная именованная последовательность элементов

Описание массива в С++:

Тип имя [размер]

Например:

int a[100] или const int N=100;

int a[N];

Обращение к элементу массива: а[номер].

Одномерный массив – вектор;

Память для элементов массива выделяется подряд

1234

a- указатель-переменная, которая хранит адрес.

Задача 1

Нахождение максимального элемента в массиве

# include <iostream.h>

const int n=10; //определяем константой кол-во элементов

void main()

{

int a[n];

int i, max;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

for (i=0; i<n; i++)

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

//Вывод массива на экран

cout<<”array a”<<endl;

for (i=0; i<n; i++)

{

cout<<a[i]<<’ ‘;

cout<<endl;

}

max=a[0]; //присваиваем максимуму первый элемент, а затем в цикле сравниваем с каждым элементом в цикле

for (i=1; i<n; i++)

if ( max < a[i]) max=a[i] ;

cout<<”max=”<<max<<endl;

}

Примечание

Общая структура решения задач с массивами(сумма, максимальный элемент, упорядочивание массива, сдвиг массива):

Описание переменных

Ввод данных

Соответствующие вычисления

Вывод результата

Задача 2

Циклический сдвиг массива влево на одну позицию

Пример

На входе: 5 3 4 2

На выходе: 3 4 2 5

# include <iostream.h>

const int n=10;

void main()

{

int a[n];

int i, r;

//Ввод массива с клавиатуры

cout<<”enter array a:”<<endl;

for (i=0; i<n; i++)

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

r=a[0];

for (i=1; i<n; i++)

a[i-1]=a[i];

a[n-1]=r;

//Вывод массива на экран

cout<<”array a”<<endl;

for (i=0; i<n; i++)

{

cout<<a[i]<<’ ‘;

cout<<endl;

}

}

Задача 3

Подсчитать количество максимумов в массиве

# include <iostream.h>

void main()

const int n=10;

{

int a[n];

int i, number, max;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

for (i=0; i<n; i++)

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

max=a[0];

number=1;

for (i=1; i<n; i++)

if (max< a[i])

{

max=a[i];

number=1;

}

else

if (max==a[i]) number++;

cout<<”max=”<<max<<endl;

cout<<”number=”<<number<<endl;

}

Задача 4

Подсчитать сумму элементов массива

# include <iostream.h>

void main()

const int n=10;

{

int a[n];

int i, sum;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

for (i=0; i<n; i++)

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

sum=0;

for (i=0; i<n; i++)

sum=sum+a[i]; //возможный вариант y+=a[i];

cout<<”sum=”<<sum<<endl;

}

Задача 5

Стратегия вычисления A- и E- кванторов

( проверка существования элемента в массиве)

При вычислении E- квантора булевская переменная задается как false.

При вычислении A- квантора булевская переменная

задается как true.

1) t=(Ei)[ a[i]<0 ]

t= true, если в массиве существует отрицательный

элемент, в противном случае t=false.

# include <iostream.h>

const int n=10;

void main()

{

int a[n];

int i;

bool f=false;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

for (i=0; i<n; i++)

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

//Вывод массива на экран

cout<<”array a”<<endl;

for (i=0; i<n; i++)

{

cout<<a[i]<<’ ‘;

cout<<endl;

}

for (i=0; i<n&&!t; i++)

if (a[i]<0) t=true;

if (t) cout<<”exist”<<endl;

else cout<<”not exist”<<endl;

}

2) t = (Ai)[ a[i]>=0 ]

T-true, если в массиве все элементы больше

Или равны нулю

# include <iostream.h>

void main()

const int n=10;

{

int a[n];

int i;

bool p=true;

//Ввод массива с клавиатуры

cout<<”enter array a”<<endl;

for (i=0; i<n; i++)

{

cout<<”a[“<<i<<”]=”;

cin>>a[i];

}

//Вывод массива на экран

cout<<”array a”<<endl;

for (i=0; i<n; i++)

cout<<a[i]<<’ ‘;

cout<<endl;

for (i=0; i<n&&p; i++)

if(a[i]<0) p = false;

if (p) cout<<”any”<<endl;

else cout<<” not any”<<endl;

}

Лекция №7

Массивы(продолжение)

Методы сортировки массивов.

Алгоритм сортировки методом нахождения локальных экстремумов

Алгоритм сортировки методом обмена пар

Алгоритм сортировки вставкой

Задача 1

Упорядочить массив по неубыванию.

Наши рекомендации