Int main()
{
int **A, **B, **C;
int i, j, ASize;
cin >> ASize;
A = new int *[ASize];
B = new int *[ASize];
C = new int *[ASize];
for (i = 0; i < ASize; ++i)
{
A[i] = new int [ASize];
B[i] = new int [ASize];
C[i] = new int [ASize];
}
for (i = 0; i < ASize; ++i) /*Ввод массива A*/
for (j = 0; j < ASize; ++j)
cin >> A[i][j];
for (i = 0; i < ASize; ++i) /*Ввод массива B*/
for (j = 0; j < ASize; ++j)
cin >> B[i][j];
for (i = 0; i < ASize; ++i) /*Ввод массива C*/
for (j = 0; j < ASize; ++j)
cin >> C[i][j];
int SummA = SummProst(A, ASize), SummB = SummProst(B, ASize), SummC = SummProst(C, ASize);
if (SummA < SummB && SummA < SummC) vivod(A, ASize);
else if (SummB < SummC && SummB < SummA) vivod(B, ASize);
else vivod(C, ASize);
}
int prost(int x)
{
int i,k=0;
if (x == 1 || x == 0) return 0;
else if ((x==2)||(x==3)) return 1;
else for(i=2;i<x;i++)
if (x%i==0) k++;
if (k) return 0;
else return 1;
}
int SummProst(int **x, int n)
{
int summ = 0;
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
if (prost(x[i][j])) summ++;
return summ;
}
void vivod(int **x, int n)
{
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
cout << x[i][j];
cout << endl;
}
}
Из одномерного массива, содержащего натуральные числа, создать три новых одномерных массива. Первый массив содержит совершенные числа входного массива, второй – четные, третий – числа, не попавшие в два первых массива. Является ли число совершенным, оформить как функцию. Глобальных переменных не использовать. Совершенные числа – это натуральные числа, которые равны сумме своих делителей за исключением самого числа (например, число 6 совершенно 6 = 1+2+3).
#include <iostream>
using namespace std;
int prost(int x);
int SummProst(int **, int n);
void vivod(int **x, int n);
Int main()
{
int **A, **B, **C;
int i, j, ASize;
cin >> ASize;
A = new int *[ASize];
B = new int *[ASize];
C = new int *[ASize];
for (i = 0; i < ASize; ++i)
{
A[i] = new int [ASize];
B[i] = new int [ASize];
C[i] = new int [ASize];
}
for (i = 0; i < ASize; ++i) /*Ввод массива A*/
for (j = 0; j < ASize; ++j)
cin >> A[i][j];
for (i = 0; i < ASize; ++i) /*Ввод массива B*/
for (j = 0; j < ASize; ++j)
cin >> B[i][j];
for (i = 0; i < ASize; ++i) /*Ввод массива C*/
for (j = 0; j < ASize; ++j)
cin >> C[i][j];
int SummA = SummProst(A, ASize), SummB = SummProst(B, ASize), SummC = SummProst(C, ASize);
if (SummA < SummB && SummA < SummC) vivod(A, ASize);
else if (SummB < SummC && SummB < SummA) vivod(B, ASize);
else vivod(C, ASize);
}
int prost(int x)
{
int i,k=0;
if (x == 1 || x == 0) return 0;
else if ((x==2)||(x==3)) return 1;
else for(i=2;i<x;i++)
if (x%i==0) k++;
if (k) return 0;
else return 1;
}
int SummProst(int **x, int n)
{
int summ = 0;
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
if (prost(x[i][j])) summ++;
return summ;
}
void vivod(int **x, int n)
{
for (int i = 0; i < n; ++i)
{
for (int j = 0; j < n; ++j)
cout << x[i][j];
cout << endl;
}
}
}Из одномерного массива, содержащего натуральные числа, создать три новых одномерных массива. Первый массив содержит простые числа входного массива, второй – четные, третий – все остальные. Является ли число простым, оформить как функцию. Глобальных переменных не использовать. Простые числа – это натуральные числа, которые делятся только на единицу и сами на себя.
#include <stdio.h>
#include <conio.h>
#include <math.h>
int prost(int x)
{
int i,k=0;
if ((x==1)||(x==2)||(x==3)) return 1;
for(i=2;i<x;i++)
if (x%i==0) k++;
if (k) return 0;
else return 1;
}
void main()
{
int i,n,*A,*B,*C,*D,b=0,c=0,d=0;
printf("vvedite kol-vo elementov\n");
scanf("%d",&n);
A=new int [n];
B=new int [n];
C=new int [n];
D=new int [n];
printf("vvedite elements\n");
for(i=0;i<n;i++)
{
scanf("%d",&A[i]);
if (prost(A[i]))
{
B[b]=A[i];
b++;
}
else
if (A[i]%2==0)
{
C[c]=A[i];
c++;
}
else
{
D[d]=A[i];
d++;
}
}
for(i=0;i<b;i++)
printf("%d ",B[i]);
printf("\n");
for(i=0;i<c;i++)
printf("%d ",C[i]);
printf("\n");
for(i=0;i<d;i++)
printf("%d ",D[i]);
getch();
}
Дано: прямоугольная целочисленная матрица A[N,M]. Определить номера строк матрицы, в которых содержится хотя бы один элемент, являющийся совершенным числом. Память под матрицу выделить в динамической области. Определение, является ли число совершенным, оформить как функцию. Глобальных переменных не использовать. Совершенные числа – это натуральные числа, равные сумме всех своих делителей за исключением самого себя (например, число 6 совершенно 6 = 1+2+3)
#include <stdio.h>
#include <conio.h>
#include <math.h>
int cover(int x)
{
if (x==1) return 0;
int s=1,i;
for(i=2;i<x;i++)
if (x%i==0) s=s+i;
if (s==x) return 1;
else return 0;
}
void main()
{
int i,j,**A,n,m;
printf("vvedite n and m\n");
scanf("%d%d",&n,&m);
A=new int *[n];
printf("vvedite matricy\n");
for (i=0;i<n;i++)
{
A[i]=new int [m];
for(j=0;j<m;j++)
{
scanf("%d",&A[i][j]);
}
}
for (i=0;i<n;i++)
for(j=0;j<m;j++)
if (cover(A[i][j]))
{
printf("v %d stroke estb covershennoe 4islo\n",i+1);
break;
}
getch();
}
Дана прямоугольная целочисленная матрица A[N,M]. Сформировать одномерный массив В из элементов матрицы, расположенных по периметру. Полученный массив отсортировать по неубыванию.
#include<stdio.h>
#include<conio.h>
#include<iostream>
