- •Вопрос 1
- •Вопрос 1
- •Доступ к элементам структур (полям данных)
- •Вопрос 1 Указатели на структуры
- •Операции над указателями на структуры
- •Вопрос 1
- •Доступ к элементам объединения (полям данных)
- •Доступ к элементам структур с битовыми полями
- •Вопрос 1
- •Вопрос 1
- •Билет №21
- •Вопрос 1
- •Билет №22
- •1. Задачи перестановок в массивах
- •Билет №23
- •Вопрос 1
- •Поиска максимального элемента в массиве и его номера
- •Сортировка вставкой Удаление элемента из массива
- •Билет №24
- •1. Динамическая память – это память, выделяемая программе для ее работы за вычетом сегмента данных, стека, в котором размещаются локальные переменные подпрограмм и собственно тела программы.
- •Билет №25
- •Объявление одномерных динамических массивов
- •Выделение памяти под одномерный динамический массив
- •Освобождение памяти, выделенной под одномерный динамический массив
- •Билет №26
- •Билет №27
- •1.Приемы чтения и записи динамических массивов
- •Билет №28
- •1.Динамические структуры данных – это структуры данных, память под которые выделяется и освобождается по мере необходимости.
- •Доступ к данным в динамических структурах
- •Работа с памятью при использовании динамических структур
Вопрос 1
Математические функции из библиотеки math.h
Математическая запись |
Запись на C++ |
Назначение |
cos x |
cos(x) |
Косинус x радиан |
sin x |
sin(x) |
Синус x радиан |
tg x |
tan(x) |
Тангенс x радиан |
chx |
cosh(x) |
Гиперболический косинус x радиан |
shx |
sinh(x) |
Гиперболический синус x радиан |
th x |
tanh(x) |
Гиперболический тангенс x радиан |
arccosx |
acos(x) |
Арккосинус числа x |
arcsinx |
asin(x) |
Арксинус числа x |
arctg x |
atan(x) |
Арктангенс числа x |
ex |
exp(x) |
Значение e в степени x |
xy |
pow(x,y) |
Число x в степени y |
|x| |
fabs(x) |
Модуль числа x |
|
sqrt(x) |
Квадратный корень из x |
ln x |
log(x) |
Натуральный логарифм x |
log10x |
log10(x) |
Десятичный логарифм x |
2. //описание функции бинарного поиска int BinarySearch(int *x, int k, int key){ bool found = false; int high = k - 1, low = 0; int middle = (high + low) / 2; while ( !found && high >= low ){ if (key == x[middle]) found = true; else if (key < x[middle]) high = middle - 1; else low = middle + 1; middle = (high + low) / 2; } return found ? middle : -1 ; } |
|
|
Билет №21
Вопрос 1
Задачи поиска в массивах предполагают нахождение элементов массива, соответствующих заданным условиям (например, количество положительных элементов, сумму четных элементов, максимальный элемент и т.д.). Просмотр массива с целью поиска можно проводить с начального элемента, с конечного, с середины и т.д. Однако эффективные поисковые алгоритмы, в которых просмотр массива выполняется особым образом, позволяют уменьшить трудоемкость выполнения поиска.
Один из алгоритмов поиска минимального элемента в массиве таков. Будем формировать значение минимального элемента в переменной min. Предположим, что минимальный элемент массива равен нулевому ( min=x[0] ). Затем выполним просмотр массива с первого элемента до последнего (for (i=1;i<k;i++) ). Каждый элемент массива сравниваем со значением переменной min. Если значение очередного i -го элемента массива меньшеmin, то выполняем присваивание min=x[i].
2. Задача на застосування перетворення типів даних.
// Знайдіть суму перших трьох цифр дробової частини дійсного числа..
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
double a,c;
int b,d,f,e;
cout<<"Vvedite chislo"<<endl;
cin>>a;
b=int(a);
c=a-b;
a=c*10;
b=int(a);
c=a-b;
a=c*10;
d=int(a);
c=a-d;
a=c*10;
f=int(a);
e=b+d+f;
cout<<e<<endl;
return 0;
}