If (выражение2) break;
…
};
Оператор break вызывает завершение самого внутреннего включающего его оператора while, do-while, for, switch.
i=0;
while (i<=(N-1))
{
if (mas[i]==FindElement)
break;
i++;
}
Оператор continue позволяет пропускать оставшуюся часть цикла while, do-while, for и начинать новую итерацию.
while (выражение1)
{
If (выражение2) continue;
…
Оператор перехода по метке может использоваться,
например, когда нужно выйти из вложенного цикла
…
goto метка;
…
метка:
…
for (…)
for(…)
{
…
if (…)
goto метка;
…
}
метка:
…
Формат оператора:
return [выражение] ;
Оператор return завершает выполнение функции, в которой он задан, и возвращает управление в вызывающую функцию, в точку, непосредственно следующую за вызовом. Функция main передает управление операционной системе. Значение выражения, если оно задано, возвращается в вызывающую функцию в качестве значения вызываемой функции. Если выражение опущено, то возвращаемое значение не определено.
13.Организация форматированного ввода-вывода в языке С++
Кроме потокового ввода-вывода с помощью cin, cout можно использовать форматированный ввод-вывод с использованием scanf, printf в стиле языка C. Для этого следует подключить библиотеку stdio.h (#include <stdio.h>) который обеспечивает независимость кода программы от особенностей ввода информации на конкретной электронно-вычислительной машине.
Для ввода исходных данных используется функция scanf(). В ней требуется указать формат вводимых значений, а также адреса переменных, которым они будут присвоены. Параметры любой функции перечисляются через запятую. В первом параметре функции scanf в виде строкового литерала задается спецификация формата вводимой величины, соответствующая типу переменной. Спецификация %f соответствует типу float, %d - типу int, %c – типу char. В качестве второго параметра функции передается адрес переменной, по которому будет помещено вводимое значение. Операция взятия адреса обозначается &.
scanf(“%d”,&h);
Функция printf() выполняет вывод переданного ей в качестве параметра строкового литерала, то есть последовательности любых символов в кавычках, на стандартное устройство вывода (дисплей). В ней два параметра. Первый, имеющий вид строкового литерала, задает вид и формат выводимой информации. Второй параметр представляют собой имя переменной. Пример вывода
printf(“%d”,h);
В данном примере выводится значение целочисленной переменной h. Все символы литерала, кроме спецификации формата %d, выводятся на дисплей без изменений. При выводе форматные спецификации будут заменены конкретными значениями переменных.
Для оформления вывода используются также специальные знаки (\t-знак табуляции, \n- переход на другую строку и др).
Например,
printf(“%d\t”,h);
printf(“%d\n”,a);
printf(“%d”,b);
14.Общее понятие одномерных массивов данных. Описание одномерных массивов на языке С++.
Массив представляет собой последовательность элементов одного типа, объединенных под одним общим именем.
Каждому элементу массива соответствует индекс - целое неотрицательное число, определяющее его номер в последовательности. Первому элементу массива соответствует индекс 0. Элементы массива размещаются в памяти последовательно, друг за другом, как показано на следующем рисунке:
Из объявления массива компилятор должен получить информацию о типе элементов массива и их количестве. Объявление массива может иметь два формата:
спецификатор_типа описатель [константное _выражение];
спецификатор_типа описатель [ ];
Описатель - это идентификатор массива.
Спецификатор типа задает тип элементов объявляемого массива. Элементами массива не могут быть функции и элементы типа void.
Константное выражение в квадратных скобках задает количество элементов массива. Константное выражение при объявлении массива может быть опущено в следующих случаях:
• при объявлении массив инициализируется,
• массив объявлен как формальный параметр функции,
• массив объявлен как ссылка на массив, явно определенный в другом файле.
Массивы, элементы которых однозначно определяются одним индексом, называются одномерными. В языке С++ определены только одномерные массивы, но, поскольку элементом массива может быть другой массив, можно определить и многомерные массивы. В описании многомерного массива каждое константное выражение определяет число элементов по данному измерению массива, т.е. объявление двухмерного массива содержит два константных выражения, трехмерного - три и т.д.
Пример :
double b[5]; /* массив (вектор) из 5 элементов имеющих
тип double b[0], b[1], b[2], b[3], b[4] */
int a[2][3]; /* двухмерный массив целочисленных элементов
a[0][0], a[0][1], a[0][2], a[1][0], a[1][1], a[1][2] */
int w[3][3] ={ { 2, 3, 4 }, { 3, 4, 8 }, { 1, 0, 9 } }; /* инициализация двухмерного массива, во внутренних фигурных скобках задаются значения элементов каждой строки */
Стандартный доступ к элементам массива:
mas[1]= 25;
mas[2]= mas[1]- 81;
В C++ имя массива представляет собой не только имя, которое используется в программах, но и является адресом, по которому в памяти находится первый элемент массива. Поэтому к элементам массива можно обращаться следующими способами:
int m[6] = {4, 3 , 1, 4, 7, 8 };
m[3] или (m + 3)[0] - обращение к 4-му элементу массива.
Возможны и другие варианты:
(m + 0)[3]
(m + 2)[1]
(m - 2)[5]
В символьном литерале (символьной строке) всегда находится на один элемент больше, чем записано в строке инициализации, так как последним из элементов должен быть нуль-символ (управляющая последовательность ’\0’).
char str[] = "объявление символьного массива";
char str[] = ""; -пустая строка содержит всего лишь один нуль-символ.
char city [ ] = "Москва"; - Массив city будет содержать строку из 7 элементов: 6 букв и 0-символ.
Такой способ инициализации не подходит, если в дальнейшем в массив city потребуется занести название другого города с длинным названием.
Можно описать название города по-другому.
char city1[ ] = {'М', 'о', 'с' , 'к' , 'в' , 'а' } ;
15.Типовые алгоритмы обработки одномерных массивов данных на языке С++
Инициализация массива
Поиск элементов образцу
Нахождение суммы (количества) элементов
Нахождение максимального (минимального) элемента
Сортировка элементов массива
#include <iostream.h>
main () {
int n=5;
int nd[5] = { 0,1,2,3,4 };
for (int i=0; i<=n; i++)
cout << "i=" << i << " nd[i]=" << nd[i] ; }
int main() {
const int N=10,
Нахождение мин
int x;
float a[N];
for (x=0; x<N;x++) cin >> a[x]);
float Min=a[0];
for (x=1; x<N;x++)
if (a[x]<Min) Min=a[x];
cout << Min;
}
Данные возникают в неупорядоченной форме. Перед обработкой целесообразно упорядочить их по значениям ключевого атрибута.
Процедуру упорядочивания называют операцией сортировки – одна из основных операций по формированию данных. Условие упорядоченности записей в массиве определяется следующим образом:
p(i) ≤ p(i+1) – упорядоченность по возрастанию;
p(i) ≥ p(i+1) – упорядоченность по убыванию
Упорядоченные данные эффективны для организации быстрого поиска информации.