- •Оглавление
- •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]
17. Вычисление определителя матрицы 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;
}
18. Подсчет количества цифр в целом числе
include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
int main()
{
int n,k,m=0;
cout<<"Enter n\n";
cin>>n;
k=n;
do
{
k=k/10;
m++;
} while (k>=1);
cout<<"\n m= "<<m<<"\n";
getch();
return 0;
}
19. Подсчет количества символов в строке
include "stdafx.h"
include <string.h>
#include <iostream>
using namespace std;
#include <conio.h>
#define SIZE 10
int main()
{
char A[SIZE];
int n,k,m=0;
cout<<"Enter A[]\n";
cin>>A;
k=strlen(A);
cout<<"\n k= "<<k<<"\n";
getch();
return 0;
}
20. Проверка целого числа на симметрию цифр
Автор Динман М.И.
#include "stdafx.h"
#include <iostream>
using namespace std;
#include "conio.h" // библиотека для функции _getch();
int Pal(int a);
int main()
{
int a;
cout<<"Enter a\n";
cin>> a;
if(a==Pal(a)) cout<<"Symmetry exist!";
else cout<<"Symmetry das not exist!";
_getch();
return 0;
}
int Pal(int a)
{
int i=0;
while (a>=1)
{
i=i*10+(a%10);
a=a/10;
}
return i;
}
21. Проверка_1 строки на симметрию символов
#include "stdafx.h"
#include <string.h>
#include <iostream>
using namespace std;
#include <conio.h>
int main()
{
char chislo[50];
int i,m=0,j=0,k,q;
cout<<"enter number \n";
cin>>chislo;
q=strlen(chislo);
k=q/2;
for(i=strlen(chislo)-1;i>k-1;i--)
{
if(chislo[i]==chislo[j]) m++; // одноразовое совпадение
j++;
}
if(k*2!=q)m--;
if(m==k) printf("symmetry exists");
else cout<<"symmetry does not exist";
getch();
return 0;
}
22. Проверка_2 строки на симметрию символов
#include "stdafx.h"
#include <string.h>
#include <iostream>
using namespace std;
#include <conio.h>
#define SIZE 10
int main()
{
int i=0,k,f;
char A[SIZE];
cin >> A;
k=strlen(A);
f=k;
f=f/2-1;
k=k-1;
while (i<=f)
{
if (A[i]!=A[k])
{
cout<<"\n i= "<<i<<" k= "<<k;
cout<<"\n NO";
getch();
return 0;
}
i++;
k=k-i;
}
cout<<"\n YES";
getch();
return 0;
}
23. Вычисление чисел Фибоначчи до n
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;
#include <conio.h>
int main()
{
int n,i=1;
int A[100];
cout<<"\n Enter number n \n";
cin>>n;
A[0]=1;
A[1]=1;
while(i<=n)
{
i++;
A[i]=A[i-1]+ A[i-2];
}
for(i=0;i<=n;i++)
cout<<A[i]<<" ";
getch();
return 0;
}
24. Распечатать числа кратные К в диапазоне от 1 до 100.
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;
#include <conio.h>
int main()
{
int k,i;
cout<<"\n Enter number k \n";
cin>>k;
for(i=1;i<=100;i++)
if(i%k==0) cout<<i<<" ";
getch();
return 0;
}
25. Заданная перестановка элементов массива местами
/* Задан одномерный массив чисел, найти его максимальный и минимальный элемент ( в массиве могут быть повторы элементов) и переставить их местами. */
#include "stdafx.h"
#include <math.h>
#include <iostream>
using namespace std;
#include <conio.h>
#define SIZE 10
int main()
{
int n,i,min,max;
int A[SIZE], B[SIZE]; // B[] - результирующий массив
cout<<"\n Enter number n \n";
cin>>n;
cout<<"\n Enter array A[]: \n";
for(i=0;i<n;i++)
cin>>A[i];
min=max=A[0]; // начальные присвоения
for(i=0;i<n;i++)
{
if(A[i]<min) min=A[i];
if(A[i]>max) max=A[i];
}
for(i=0;i<n;i++) B[i]=A[i]; // дублирование
for(i=0;i<n;i++)
{
if(A[i]==max) B[i]=min;
if(A[i]==min) B[i]=max;
}
cout<<"\n Result: \n";
for(i=0;i<n;i++) cout<<B[i]<<" ";
getch();
return 0;
}