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

13. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 2.

#include "stdafx.h"

#include <iostream>

using namespace std;

#include <conio.h>

#define SIZE 10

int main()

{

int A[SIZE],i,n,k,b,t;

char ch[3]; // рабочий массив

bool pris=0;

cout<<"Enter n\n";

cin>>n;

cout<<"Enter spisok\n";

for(i=1;i<=n;i++) cin>>A[i];

while(pris==0)

{

cout<<"Do you like to dell item?\n";

// Вводить можно YES ,yes,not,NOT

for(i=0;i<=2;i++) cin>>ch[i];

if(ch[0]=='Y'||ch[0]=='y')

{

cout<<"Enter index \n"; // индекс удаляемого элемента

cin>>k;

for(i=k;i<=n-1;i++) A[i]=A[i+1];

for(i=1;i<=n-1;i++) cout<<A[i];

n--;

}

cout<<"\n Do you like to put item?\n";

for(i=0;i<=2;i++) cin>>ch[i];

if(ch[0]=='Y'||ch[0]=='y')

{

cout<<"Enter place for putting\n";

cin>>k; // место вставки элемента

n++;

cout<<"\n Enter new item\n";

cin>>b;

for(i=k+1;i<n-1;i++) A[i]=A[i-1];

A[k]=b;

for(i=1;i<=n;i++) cout<<A[i];

}

cout<<"\n Do you like to finish?\n";

for(i=0;i<=2;i++) cin>>ch[i];

if(ch[0]=='Y'||ch[0]=='y')

{

for(i=1;i<=n;i++) cout<<A[i];

pris=1;

}

}

cout<<"\n Your work is finished!";

cin>>n;

return 0;

}

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

#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;

}

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

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

#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;

}

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

#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;

}