Вывод строчные букв латинского алфавита и их кодировки.
# 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];
Обращение к элементу массива: а[номер].
Одномерный массив – вектор;
Память для элементов массива выделяется подряд
▄1 ▄2 ▄ 3▄ 4
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
Упорядочить массив по неубыванию.