
Int main()
{
double **a;
int i, j, n,m;
cout << "Vvedite razmer: n, m" << endl;
cin >> n >> m;
a = new double*[n];
for(i=0; i<n; i++)
a[i] = new double[m];
for (i=0; i<n; i++)
for (j=0; j<m; j++)
{
cout << "Vvedite a[" << i << "][" << j << "]: " ;
cin >> a[i][j];
}
cout << "Мassiv A:" << endl;
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
cout << setw (9) << a[i][j] << " ";
cout << endl;
}
double summ=0;
double summ1=1;
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{
if (i==j)
summ+=a[i][j];
}
for (i=0;i<n;i++)
for (j=0;j<m;j++)
{
int k=0;
k=n-1-i;
if (j==k) {
summ1=summ1*a[i][j];
}
}
cout << "Summa elementov glavnoy diagonali:" << summ << endl;
cout <<"Proizvedenie elementov poboshnoy diagonali:" << summ1 << endl;
for(i=0; i<n; i++)
delete [] a[i];
delete []a;
a = NULL;
return 0;
}
Скриншоты результата выполнения программы:
Выводы: В ходе выполнения лабораторной работы мною были получены практические и теоретические знания по работе с указателями, программированию с использованием динамических двумерных массивов.
Лабораторная работа №7.
Тема: Программирование с использованием структур.
Цель: Ознакомиться с порядком объявления структур и их использования.
Задание: Создать массив структур, содержащий информацию согласно варианту индивидуального задания. Выполнить задание и вывести на экран полученный результат.
Исходные данные: На междугородней АТС информация о разговорах содержит дату разговора, код и название города, время разговора, тариф, номер телефона абонента. Вывести для заданного города общее время разговоров с ним и сумму.
Листинг программы:
#include <iostream.h>
#include <string.h>
Int main ()
{
int kod;
int summa_vremy;
double stoimost;
double stoimost_all;
struct strc
{
char day[3];
char mouth[3];
char year[5];
int kod_city;
char name_city[50];
int vremy;
int tarif;
char tel[15];
} mats[100];
int kol, i,j;
cout << "Vvedite kolishestvo razgovorov ne bolee 100: ";
cin >> kol;
for(i=0;i<kol;i++)
{
cout << "Vvedite den': ";
cin >> mats[i].day;
cout << "Vvedite mouth: ";
cin >> mats[i].mouth;
cout << "Vvedite god: ";
cin >> mats[i].year;
cout << "Vvedite kod goroda: ";
cin >>mats[i].kod_city;
cout << "Vvedite nomer telefona: ";
cin >> mats[i].tel;
cout << "Vvedite vremy razgovora v minutah: ";
cin >> mats[i].vremy;
cout << "Vvedite tarif oplaty:";
cin >> mats[i].tarif;
}
cout << "Vvedite kod neobhodimogo goroda: ";
cin >> kod;
summa_vremy=0;
stoimost=1;
stoimost_all=0;
for (j=0;j<kol;j++)
{
if (mats[j].kod_city == kod ){
summa_vremy+=mats[j].vremy;
}
}
for (j=0; j<kol;j++)
{
if(mats[j].kod_city==kod)
{
stoimost=mats[j].tarif*mats[j].vremy;
stoimost_all+=stoimost;
}
}
cout << endl;
cout << "Obshay summa razgovorov goroda s kodom " << kod << "= " << summa_vremy << endl;
cout << "Obshay stoimost' razgovorov goroda s kodom " << kod << "= " << stoimost_all << endl;
return 0;
}
Скриншоты результата выполнения программы:
Выводы: В ходе выполнения лабораторной работы мною были получены теоретические и практические знания по работе со структурами.
Лабораторная работа №8.
Тема: Программирование с использованием функций.
Цель: Ознакомиться с порядком объявления функций, передачей параметров по значению, по ссылке и по указателю, перегрузкой функций, указателями на функцию.
Задание: Вывести на экран таблицу значений функции y(x) для x, изменяющегося от а=0,1 до b=1,2 с шагом h=0,1. Вычисление y(x) оформить в виде функции.
Исходные
данные:
Листинг программы:
#include <iostream.h>
#include <math.h>
#include <iomanip.h>
typedef double (*uf)(double, int);
void Tabl (double, double, double, uf);
double Y (double, int);