Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Примеры алгоритмов обработки матрицами






Рассмотрим несколько задач обработки матриц, зная их свойства (рис. 24):

Рис. 24. Свойства матриц

ЗАДАЧА 16. Найти сумму элементов матрицы, лежащих выше главной диагонали (рис. 25-26).

Рис. 25. Алгоритм решения Рис. 26. Алгоритм решения

задачи 16 (первый способ) задачи 16 (второй способ)

//Первый способ

int main()

{int S, i, j, N, M, a[20][20];

cout< < " N="; cin> > N; cout< < " M="; cin> > M;

cout< < " Input Matrix A" < < endl;

for(i=0; i< N; i++)

for(j=0; j< M; j++) cin> > a[i][j];

for(S=i=0; i< N; i++)

for(j=0; j< M; j++) if (j> i) S+=a[i][j];

cout< < " S=" < < S< < endl; }

//Второй способ

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

for(j=i+1; j< m; s+=a[i][j], j++)

printf(" s =%f \n", s); }

ЗАДАЧА 17.Вычислить количество положительных элементов квадратной матрицы, расположенных по ее периметру и на диагоналях.

#include < stdio.h>

#include < math.h>

int main()

{int n, i, j, k; float b, a[25][25];

scanf(" %d", & n);

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

for(j=0; j< n; scanf(" %g", & b); a[i][j]=b; j++)

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

{

if (a[i][i]> 0) k++;

if (a[i][n-i-1]> 0) k++;

}

for(i=1; i< n-1; i++)

{

if (a[0][i]> 0) k++;

if (a[n-1][i]> 0) k++;

if (a[i][0]> 0) k++;

if (a[i][n-1]> 0) k++;

}

if ((n%2! =0)& & (a[n%2+1][n%2+1]> 0)) k--;

printf(" k=%d", k);

}

4.5. Функций в С++

Подпрограмма – именованная, логически законченная группа операторов языка, которую можно вызвать для выполнения любое количество раз из различных мест программы. В С++ подпрограммы реализованы в виде функций

Функция - поименованный набор описаний и операторов, выполняющих определенную задачу. Функция может принимать параметры и возвращать значение. Параметр функции это информация, передаваемая в нее для обработки. Значение функции - результат ее вычислений. Обращение к функции называют вызовом.

Любая программа на С++ состоит из одной или нескольких функций.

При запуске программы первой выполняется функция main. Если среди операторов функции main встречается вызов функции, то управление передается операторам функции. Когда все операторы функции будут выполнены, управление возвращается оператору, следующему за вызовом функции.

Перед вызовом функция должны быть обязательно описана. Описание функции состоит из заголовка и тела функции:

тип имя_функции(список_перем)

{

тело_функции

}

 

Заголовок функции содержит:

тип – тип возвращаемого функцией значения (может быть любым; если функция не возвращает значения, то тип void);

имя_функции – имя, с которым она будет вызываться;

список_переменных – перечень передаваемых в функцию величин (аргументов), которые отделяются друг от друга запятыми; для каждой переменной из списка указывается тип и имя; если функция не имеет аргументов, то в скобках указывают либо тип void, либо ничего.

Тело функции представляет собой последовательность описаний и операторов, заключенных в фигурные скобки.

В общем виде структура программы на С++ может иметь вид:

директивы компилятора

тип имя_1(список_перем)

{

тело_функции_1;

}

тип имя_2(список_перем)

{

тело_функции_2;

}

...

тип имя_n(список_перем)

{

тело_функции_n;

}

int main(список_перем)

{

тело__основной_функции;

имя_1;

имя_2;

...,

имя_n;

}

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

имя_функции(список_переменных);

Если тип возвращаемого значения не void, то функция может входить в состав выражений.

Типы и порядок следования переменных в определении и при вызове функции должны совпадать.

Для того чтобы функция вернула какое-либо значение, в ней должен быть оператор:

return (выражение);

Локальные переменные это переменные, описанные внутри функции, а так же переменные из списка аргументов. Область действия локальной переменной не выходит за рамки функции. Значения локальных переменных между вызовами одной и той же функции не сохраняются.

Глобальные переменные это переменные, определенные до объявления всех функций и доступные всем функциям.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал