Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИКУМ_3.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
266 Кб
Скачать
☆

19. Программа проверки глубины вложения скобок

#include "stdafx.h"

#include <math.h>

#include <iostream>

using namespace std;

#include <string.h>

#include <conio.h>

int main()

{

int left_bracket_number=0, right_bracket_number=0;

char formula[50];

int n;

cout<<"Enter the char \n";

cin>>formula;

n=strlen(formula); // n - длина строки

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

{

if (formula[i] =='(' ) left_bracket_number++;

if (formula[i] ==')') right_bracket_number++;

}

if(right_bracket_number==left_bracket_number)

{

cout<<" \n '(' "<<left_bracket_number;

cout<<" \n ')' "<<right_bracket_number;

cout<<" \n Oder of bracket exists!";

}

if(right_bracket_number<left_bracket_number)

cout<<" \n Right brackets number is less then left brackets number!";

if(right_bracket_number>left_bracket_number)

cout<<" \n Left brackets number is less then right brackets number!";

_getch();

return 0;

}

20. Формирование двумерного массива

// Запись в двухмерный массив суммы номера строки и номера столбца элемента

#include "stdafx.h"

#include <iostream>

using namespace std;

#include <conio.h>

#define SIZE 10

int main()

{

int A[SIZE][ SIZE],i,j,n,m;

cout<<"Enter n \n";

cin>>n;

cout<<"Enter m \n";

cin>>m;

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

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

A[i][j]=i+j;

cout<<"Array A[]:\n";

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

{

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

cout<<A[i][j];

cout<<endl;

}

cin>>n;

return 0;

}

21. Вычисление определителя матрицы второго порядка

#include "stdafx.h"

#include <iostream>

using namespace std;

#include <conio.h>

int main()

{

int A [2][2]={{1,2},{3,4}},i,det;

det=A[0][0]*A[1][1]-A[1][0]*A[0][1];

cout<<"Determinater is "<<det;

_getch();

return 0;

}

22. Вычисление определителя матрицы 3 - го порядка

#include "stdafx.h"

#include <iostream>

using namespace std;

#include "conio.h" // библиотека для функции _getch();

#define N 3

int Det(); // объявление функции

int B[N][N]; // назначение глобального массива данных

int main()

{

int A[N][N]={{1,2,3},{4,5,6},{7,8,9}};

int i,j,m,D,k,k1=0,AB,SUM=0;

//Разложение по нулевому столбцу, поиск миноров и алгебраических дополнений

while(k1<=N-1) // шагаем по строкам

{

//поиск миноров

k=0;

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

{

if (i==k1) continue; // пропускаем строку i

m=0;

for(j=1;j<=N-1;j++)

{

B[k][m]=A[i][j]; // строка минора

m++;

}

k++; // переход к следующей строке минора

}

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

{

cout<<"\n";

for(j=0;j<=N-2;j++) cout<<" "<<B[i][j];

}

D=1;

for(i=1;i<=k1;i++) D=D*(-1);

AB=A[k1][0]*D;

AB=AB*Det();

cout<<"\n Det = "<<Det();

SUM=SUM+AB;

cout<<"\n SUM = "<<SUM;

k1++; //номер вычеркиваемой строки

}

cout<<" \n Determinator = "<<SUM;

_getch();

return 0;

}

int Det()

{

int det;

det=B[0][0]*B[1][1]-B[1][0]*B[0][1];

return det;

}