Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prakticheskie_ispravlennoe.docx
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
45.38 Кб
Скачать

Int main()

{

const int n=5;

int *x=new int [n];

int *a=new int [n];//совершенные числа

int *b=new int [n];//четные

int *c=new int [n];//остальные

int countA=0, countB=0, countC=0;

bool flag;

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

scanf("%d", &x[i]);

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

{

flag=false;

if(is_perfect(x[i]))

{

flag=true;

a[countA]=x[i];

countA++;

}

if(is_chet(x[i]))

{

flag=true;

b[countB]=x[i];

countB++;

}

if(!flag)

{

c[countC]=x[i];

countC++;

}

}

printf("\n\n\n");

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

if(a[i])printf("%d ", a[i]);

printf("\n\n\n");

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

if(b[i])printf("%d ", b[i]);

printf("\n\n\n");

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

if(c[i])printf("%d ", c[i]);

getch();

}

  1. Из одномерного массива, содержащего натуральные числа, создать три новых одномерных массива. Первый массив содержит простые числа входного массива, второй – четные, третий – все остальные. Является ли число простым, оформить как функцию. Глобальных переменных не использовать. Простые числа – это натуральные числа, которые делятся только на единицу и сами на себя.

bool is_simple(int num)

{

if(num<0 || num==1)return 0;

for (int i=2;i<=num/2;i++)

{

if (num%i==0)

return false;

}

return true;

}

bool is_chet(int number)

{

if( number %2 ==0) return true;

else return false;

}

Int main()

{

const int n=5;

int *x=new int [n];

int *a=new int [n];//совершенные числа

int *b=new int [n];//четные

int *c=new int [n];//остальные

int countA=0, countB=0, countC=0;

bool flag;

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

scanf("%d", &x[i]);

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

{

flag=false;

if(is_simple(x[i]))

{

flag=true;

a[countA]=x[i];

countA++;

}

if(is_chet(x[i]))

{

flag=true;

b[countB]=x[i];

countB++;

}

if(!flag)

{

c[countC]=x[i];

countC++;

}

}

printf("\n\n\n");

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

printf("%d ", a[i]);

printf("\n\n\n");

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

printf("%d ", b[i]);

printf("\n\n\n");

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

printf("%d ", c[i]);

getch();

}

  1. Дано: прямоугольная целочисленная матрица A[N,M]. Определить номера строк матрицы, в которых содержится хотя бы один элемент, являющийся совершенным числом. Память под матрицу выделить в динамической области. Определение, является ли число совершенным, оформить как функцию. Глобальных переменных не использовать. Совершенные числа – это натуральные числа, равные сумме всех своих делителей за исключением самого себя (например, число 6 совершенно 6 = 1+2+3)

int sov(int k);

int **scan(int &n, int &m);

void print(int **a, int n, int m);

int sum_sov(int **a, int n, int m);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]