index
Поддержка потоков (streams) ввода/вывода (Input/Output)
Использовать имена из стандартной библиотеки C++
main() — любая программа на C++ должна включать функцию с этим именем
cout — это имя объекта, который обеспечивает вывод информации на экран дисплея
endl приводит к переводу курсора на новую строку
Точка выхода из программы
index
a += b;
a = a - 1;
a--;
a = a – b;
a -= b;
a = a * b;
a *= b;
a = a / b;
a /= b;
a = a % b;
a %= b;
#include Работа с файлами
#include
using namespace std;
int main()
{
ifstream cin("input.txt");
ofstream cout("output.txt");
double a, b;
// cout << "Input a: ";
cin >> a;
// cout << "Input b: ";
cin >> b;
double x = a + b;
cout << "a + b = " << x << endl;
return 0;
}
НЕПОЛНОЕ ВЕТВЛЕНИЕ
if ( /* Condition */ )
{
/* Instruction set */
}
ОПЕРАТОРЫ СРАВНЕНИЯ
<
<=
>
>=
== — проверка на равенство двух чисел
!= — проверка на неравенство двух чисел
Логические операторы
Логическое И — &&
Логическое ИЛИ — ||
Логическое НЕ — !
index
Пример: число дней в месяце
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
cout << 31 << endl;
break;
case 4: case 6: case 9: case 11:
cout << 30 << endl;
break;
case 2: // February
cout << "28 or 29" << endl;
break;
default:
cout << "Invalid input" << endl;
break;
}
#include cout.precision (5);
#include
#include
using namespace std;
int main()
{
ifstream cin("input.txt");
ofstream cout("output.txt");
double a, b, c, x;
cin >> a >> b >> c;
if((b*b - 4*a*c) > 0) //Если дискриминант больше 0
{
x = ( -1*b + sqrt(b*b - 4*a*c) ) / (2 * a);
cout << "1-ый корень равен " << x << endl;
x = ( -1*b - sqrt(b*b - 4*a*c) ) / (2 * a);
cout << "2-ой корень равен " << x << endl;
}
if((b*b - 4*a*c) == 0) //Если дискриминант равен 0
{
x = ( -1*b ) / (2 * a);
cout << "Корень равен " << x << endl;
}
if((b*b - 4*a*c) < 0) //Если дискриминант меньше 0
{
cout << "Дискриминант меньше 0, корни невещественные." << endl;
}
return 0;
}
//задаем компилятору сколько знаков после плавающей точки нужно вывести
cout << fixed << x;
//precision будет работать только если в начале cout-а вы напишите fixed
Тригонометрические функции и их арк-версии, (В С++ используются не градусы а радианы)
acos(a) - возвращает угол в радианах из cos;
asin(a) - возвращает угол в радианах из sin;
atan(a) - возвращает угол в радианах из tan;
atan2(y, x) - возвращает угол по координатам x и y
cos(a) - возвращает cos угла, заданного в радианах;
sin(a) - возвращает sin угла, заданного в радианах;
tan(a) - возвращает tg угла, заданного в радианах;
const double PI = atan(1.0)*4;
cos((PI*a)/180) - возвращает cos угла, заданного в градусах;
// пример atan2 Логарифм числа b по основанию a - показатель степени, в которую надо возвести основание a, чтобы получить число b.
#include
#include
#define PI 3.14159265
// define — создание
// константы или макроса;
using namespace std;
int main()
{
double x = -10.0, y = 10.0;
cout << "Арктангенс x = " <<
x << " и y = " << y << " = " <<
(atan2(y, x) * 180 / PI) <<
" градусов " << endl;
return 0;
}
int sum = 0, i;
for (i = 1; i <= n; i = i+1)
{
sum = sum + i;
}
for (int i = 1; i <= n; i++)
sum += i;
index
index
void Tr( int x, int y, int c )
Tr ( 200, 100, 50);
x
y
c
void A ( int x, float y, char z ) { ... }
void A ( int x, float y, char z )
{
int a2, bbc = 345;
...
}
локальные переменные
int a2, bbc = 345;
main()
{
int x = 1, y = 2;
Swap ( x, y );
printf ( "x = %d, y = %d", x, y );
}
void Swap ( int a, int b )
{
int c;
c = a; a = b; b = c;
}
эта процедура работает с копиями параметров
x = 1, y = 2
void Swap ( int & a, int & b )
{
int c;
c = a; a = b; b = c;
}
&
параметры могут изменяться
&
index
формальные параметры
int Max ( int a, int b )
{
if ( a > b ) return a ;
else return b ;
}
return - вернуть результат функции
тип результата
int Max ( int a, int b )
{
...
}
фактические параметры
вызов функции
формальные параметры
index
count = 0;
for (i = 2; i < N; i ++)
if ( N % i == 0) count ++;
if ( count == 0 )
// число N простое}
else // число N составное
Логические функции
index
if (count == 0) return 1;
else return 0;
int Prime ( int N )
{
...
}
функция
Prime( N )
Объявление массивов
имя
размер массива (количество элементов)
тип
элементов
int A [ 5 ];
int A [ ];
const int N = 5;
N
остальные нулевые!
const int
int X[4.5];
int A[10];
A[10] = 0;
float X[5];
int n = 1;
X[n-2] = 4.5;
X[n+8] = 12.;
выход за границы массива
(стираются данные в памяти)
int X[4];
X[2] = 4.5;
дробная часть отбрасывается
(ошибки нет)
float B[2] = { 1., 3.8, 5.5 };
int A[2] = { 1, 3.8 };
float
Функция rand генерирует случайные числа, возвращает псевдослучайное целое число в диапазоне от 0 до RAND_MAX
index
index
Для массива:
каждый символ – отдельный объект;
массив имеет длину N, которая задана при объявлении
index
\0 — символ нуль-терминатора
main() index
{
char q[80];
int i;
cin>>q;
i = 0;
while ( q[i] != '\0' ) {
if ( q[i] == 'a' ) q[i] = 'b';
i ++;
}
cout<}
//длина строки
n1=str.size();
n2=str.length();
//пуста ли строка? (str.size() == 0)
cout << str.empty() << endl;
//Копирование и конкатенация
string str1 = str;
str=str+str1;
// Обращение к отдельным символам
cout << str[7] << str[0] << endl;
cout << str.at(7) << str.at(0) << endl;
//Получение подстроки
str.substr(pos, n);
//индекс 1-го вхождения символа или строки
n1=str.find(' ');
//1-е вхождение любого символа из строки
n2=s.find_first_of(", !");
index
int pos=3;
s1="vasia";
//вставка
s.insert(pos, s1);
//удаление
s.erase(pos, 2);
index
//число в строку на си (char *)
char str[11];
int number = 12345;
sprintf(str, "%d", number);
cout<
s=string(str)+"!!!";
cout<
Функциональность:
добавить элемент в рассматриваемое множество, при этом исключая возможность появления дублей
удалить элемент из множества
узнать количество (различных) элементов в контейнере
проверить, присутствует ли в контейнере некоторый элемент
index
int n=mySet.size();
cout<
if(mySet.find('I') != mySet.end()) {
cout<<"yes"<
else {
cout<<"no"<
Это сайт презентаций, где можно хранить и обмениваться своими презентациями, докладами, проектами, шаблонами в формате PowerPoint с другими пользователями. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами.
Email: Нажмите что бы посмотреть