Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие С++- не книжкой_новое.doc
Скачиваний:
4
Добавлен:
04.11.2018
Размер:
765.44 Кб
Скачать

Void main()

{

const int n=255;

char stroka [n];

cin.getline(stroka,n);//считали строку

int len = 0; // будем использовать переменную len

//как индекс массива

while (stroka[len]) len++; // условие окончание цикла

//stroka[len]= ‘\0’

cout<<len;

}

Многомерные массивы описываются как массивы массивов, например,

int a2[3][2] // массив из 3 массивов, содержащих по 2 целых элемента.

Для обращения к элементу двумерного массива используется два индекса, например, a2[i][j]. Рассмотрим, как используется конструкция вложенных циклов для работы с двумерными массивами и как возможен выход из вложенных циклов.

Для принудительного выхода из вложенных циклов используют оператор безусловного перехода goto, который имеет формат:

goto идентификатор;

где идентификатор – имя метки оператора, расположенного в той же функции, где используется оператор безусловного перехода. Метка – это обычный идентификатор, после которого ставится двоеточие и следует некоторый оператор. Использование оператора goto принято считать плохим стилем, однако в некоторых случаях его использование может быть действительно обосновано. Например, при решении задачи поиска в матрице размерности (n,m) поиска в матрице хотя бы одного элемента с заданным значением x.

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

for (int j=0; j<m;j++)

if (a[i][j]==x) goto success;

success:

cout << “Элемент найден. Строка i= ”<<i;

cout<< “Столбец j=” <<j;

Также в циклах применяется оператор continue. С его помощь завершается текущая итерация и начинается проверка условий дальнейшего продолжения цикла. Типичный пример использования continue - подсчитать среднее значение только положительных элементов одномерного массива.

for (s=0,k=0,i=0;i<n;i++)

{

if (x[i]<=0) continue;

k++;

s+=x[i];

}

if (k>0) s=s/k;

Каждому студенту рекомендуется выполнить одно из упражнений 1-12 каждого задания 1-6 и все упражнения задания 7.

Задание 1. Детерминированные циклы. Простейшие задачи

Пример. Даны натуральные числа N, x. Вычислить .

# include <iostream.h>

Void main()

{

int x,N,S ed=1, fact=1, stepX=1;

cout << “Enter x,N ”;

cin >>x>> N;

for (int k=1; k<=N; k++)

{

ed=-ed; // меняем знак единицы при каждой итерации

stepX=*x; // вычисляем

fact*=k+1; // вычисляем (k+1)!

S+=ed*stepX/fact;

}

cout<< “S= ”<< S;

}

  1. Дано натуральное число N. Вычислить * .

  2. Дано натуральное число N. Вычислить, где

  3. Даны натуральные числа N и M (N>M). Вычислить.

  4. Дано натуральное число N. Вычислить.

  5. Дано натуральное число N и вещественное число x. Вычислить, . Функцию pow() не использовать.

  6. Дано натуральное число N и вещественное число x. Вычислить, . Функцию pow() не использовать.

  7. Дано натуральное число N и вещественное число x. Вычислить, . Функцию pow() не использовать.

  8. Дано натуральное число N>2. Вычислить.

  9. Дано натуральное число N и вещественное число x. Вычислить.

  10. Дано натуральное число N. Вычислить, где

  11. Дано натуральное число N. Вычислить.

  12. Дано натуральное число N. Вычислить.