Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
отчет по лаб.р.5.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
134.66 Кб
Скачать

4. Алгоритм

Функция main Функция vyvod

Фукция Sort Функция Sumd

5. Текст пограммы:

#include <iostream.h> // podkl bibl standartnyh ob'ektov i opercii s potokamy

//vvoda-vyvoda sredstvamy yazika C++

#include <iomanip.h> //podkl bibl sredstv manipulirovania potokamy

#include <math.h> //podkl bibl matemat funkcii

#include <conio.h>

//prototipy funkcii

//fun-cia, vypoln vvod matricy i symmu elementov v strokah

void Vyvod (int **a, int m, int n);

//fun-cia, sumirishay elementi glavnoi diagonaly matricy

void Sumd (int **a, int &sumd);

//fun-cia, vupolnyushay sortirovky strok

void Sort (int **a, int n);

main ()

{

int m, n, i, j, im, jm, sumdi;

cout<<"Vvedite col-vo strok i stolbcov matricy: "<<endl;

cin>>m>>n;

int **a=new int *[m]; //vudilenie pamyti pod matricy

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

a[i]=new int[n];

cout<<"Vvedite elementi matricy: "<<endl;

for (i=0; i<m; i++) //vvod matricy

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

cin>>a[i][j];

cout<<"Matirca imeet vid: "<<endl;

Vyvod(a, m, n);

Sort (a, n);

cout<<"Otsortirovannay matrica imeet vid: "<<endl;

Vyvod(a, m, n);

cout<<"Summa elementov glavnoi diagonaly: "<<endl;

Sumd (a, sumdi);

cout<<sumdi<<endl;

delete []a;

cout<<"Nazmite lubuy klavishu... ";

getch ();

clrscr ();

return 0;

}

void Vyvod (int **a, int m, int n)

{ int i, j;

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

{

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

cout<<setw(4)<<a[i][j]<<" ";

cout<<endl;

}

}

void Sort (int **a, int n)

{int i, j, im, jm, buf_a;

for (i=1, j=1; i<=n-1; i+=2, j+=2)

{

for (im=0, jm=0; im<=n-1; im++, jm++)

{ buf_a=a[i][jm];

a[i][jm]=a[im][j];

a[im][j]=buf_a;

}

}

}

void Sumd (int **a, int &sumd)

{ int i, j, n, m;

sumd=0;

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

sumd+=a[i][j];

}

6. Таблица переменных:

Переменная

Тип

Значение

m

int

Количество строк

n

int

Количество столбцов

i

int

Переменная цикла

j

int

Переменная цикла

im

int

Дополнительная переменная строк матрицы

jm

int

Дополнительная переменная столбцов матрицы

sumd

int

Переменная суммы элементов главной диагонали матрицы