
- •Оглавление
- •1. Вычисление нод алгоритмом Евклида
- •2. Нахождение нод и нок
- •3. Вычисление факториала
- •4. Вычисление факториала рекурсивно
- •5. Вычисление биноминального коэффициента
- •7. Разложение целого числа на сумму биноминальных коэффициентов
- •8. Сумма некоторых элементов массива
- •9. Модификация массива данных. Вариант 1.
- •10. Модификация массива данных. Вариант 2.
- •11. Работа с числами массива
- •12. Поиск совпадений чисел в массиве
- •13. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 1.
- •14. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 2.
- •15. Подсчет количества цифр в целом числе
- •16. Проверка целого числа на симметрию цифр. Вариант 1.
- •17. Проверка целого числа n на симметрию цифр Вариант 2.
11. Работа с числами массива
/* Даны целые числа а1,а2,...аn. Получить сумму трех чисел данной последовательности, которые кратны 5, нечетны, отрицательны и удовлетворяют условию |ai|>=i^2 */
#include "stdafx.h"
#include <math.h> //библиотека математических функций
#include <iostream>
using namespace std;
#include <conio.h>
#define SIZE 10
int main()
{
int i,n,A[SIZE],k=0,s=0;
cout<<"Enter n= ";
cin>>n;
cout<<"Enter array A: \n";
for(i=0;i<=n-1;i++) cin>>A[i];
for(i=0;i<n;i++)
{
if (((A[i]%2)!=0)&&(A[i]<0)&&((A[i]%5)==0)&&(abs(A[i])>=i*i))
{
k++;
s=s+A[i];
if (k==3)
{
cout<<"Sum of three special members is: \n"<<s;
getch();
return 0;
}
}
}
cout<<" That 3 numbers do not exist! \n";
return 0;
}
12. Поиск совпадений чисел в массиве
/* Даны целые числа а1,а2,...аn (в этой последовательности могут быть
повторяющиеся члены). Подсчитать, сколько чисел входит в последовательностьболее чем по одному разу. Выяснить, имеется ли в последовательности хотя бы одна пара совпадающих чисел */
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
#define SIZE 10
int main()
{
int i,j,n,A[SIZE],B[SIZE],s,item,index;
cout<<"Input n= ";
cin>>n;
cout<<"Enter array A: \n";
for(i=0;i<=n-1;i++)
{
cin>>A[i];
B[i]=0; // B – рабочий массив
}
/* В массиве В далее будет содержаться информация о том, сколько раз повторяется элемент с индексом i в массиве А */
for(i=0;i<=n-1;i++)
{
item=A[i];
index=i;
s=1;
for(j=0;j<n;j++) // цикл проверки повторов элемента item
{
if((A[j]==item)&&(j!=index))
{
s++;
B[i]=s;
}
}
}
cout<<" Array B[] members are: \n ";
for(i=0;i<n;i++) cout<<B[i];
for(i=0;i<n;i++)
{
if(B[i]!=0)
{
cout<< "\n There is a pair of concurrent numbers \n";
_getch();
return 0;
}
}
cout<< "There is not a pair of concurrent numbers \n";
_getch();
return 0;
}
13. Растяжение списка и вставка, удаление из списка и сжатие. Вариант 1.
/ Работа со спискомв виде массива c применением дополнительного массива В
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <conio.h>
#define SIZE 10
void main()
{
int A[SIZE],B[SIZE],i,n,k;
char ch;
bool pris=0; // признак необходимости действий с массивом
cout<<"Enter n\n";
cin>>n;
cout<<"Enter spisok\n";
for(i=0;i<=n-1;i++) cin>>A[i];
while(pris==0)
{
cout<<"Do you like to dell item? – Y | y \n";
cin>>ch;
if((ch=='Y')||(ch=='y'))
{
cout<<"Enter index \n"; // индекс удаляемого элемента
cin>>k;
for(i=0;i<k;i++) B[i]=A[i];
for(i=k;i<=n-2;i++) B[i]=A[i+1];
n--;
for(i=0;i<=n-1;i++) cout<<B[i];
for(i=0;i<=n-1;i++) A[i]=B[i]; // смена исходного А
}
cout<<"\n Do you like to put item? – Y | y \n";
cin>>ch;
if((ch=='Y')||(ch=='y'))
{
cout<<"Enter place for putting\n";
cin>>k;
for(i=0;i<k;i++) B[i]=A[i];
cout<<"Enter new item\n";
cin>>B[k];
n++;
for(i=k+1;i<=n-1;i++) B[i]=A[i-1];
for(i=0;i<=n-1;i++) cout<<B[i];
}
cout<<"\n Do you like to finish? – Y | y \n";
cin>>ch;
if((ch=='Y')||(ch=='y'))
{
for(i=0;i<=n-1;i++) cout<<B[i];
pris=1;
}
}
cout<<"\n Your work is finished!";
getch();
}