- •Оглавление
- •1. Вычисление нод алгоритмом Евклида
- •2. Нахождение нод и нок
- •3. Вычисление факториала
- •4. Вычисление факториала рекурсивно
- •5. Вычисление биноминального коэффициента
- •6. Разложение целого числа на сумму биноминальных коэффициентов
- •7. Сумма некоторых элементов массива
- •8. Модификация массива данных. Вариант 1.
- •9. Модификация массива данных. Вариант 2.
- •10. Работа с числами массива
- •11. Поиск совпадений чисел в массиве
- •12. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 1.
- •13. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 2.
- •14. Программа проверки глубины вложения скобок
- •15. Формирование двумерного массива
- •16. Вычисление определителя матрицы второго порядка
- •17. Вычисление определителя матрицы 3 - го порядка
- •18. Подсчет количества цифр в целом числе
- •26. Найти числа близнецы в [a,b]
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;
}