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

Int main()

{

int n;

int **a;

int i,j;

printf("\nVvedite n:");

scanf("%d",&n);

a=new int*[n];

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

a[i]=new int[n];

printf("\nVvedite a:");

vvod(a,n);

printf("\na:");

vivod(a,n);

sum(a,n);

getch();

}

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

#include <iostream>

#include <conio.h>

using namespace std;

int sum(int **a, int n);

bool is_perfect(int num);

Int main()

{

int n, i,j;

cin>>n;

int **a=new int *[n];

int **b=new int *[n];

int **c=new int *[n];

cout<<"Enter a"<<endl;

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

{

a[i]=new int [n];

for (j=0; j<n; j++)

cin>>a[i][j];

}

cout<<endl<<"Enter b"<<endl;

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

{

b[i]=new int [n];

for (j=0; j<n; j++)

cin>>b[i][j];

}

cout<<endl<<"Enter c"<<endl;

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

{

c[i]=new int [n];

for (j=0; j<n; j++)

cin>>c[i][j];

}

cout<<endl;

int suma=sum(a, n);

int sumb=sum(b, n);

int sumc=sum(c, n);

if (suma>sumb)

if (suma>sumc)

cout<<"array a";

else

cout<<"array c";

else

if (sumb>sumc)

cout<<"array b";

else

cout<<"array c";

cout<<endl;

getch();

return 0;

}

bool is_perfect(int num)

{

if (num==0||num==1)

return false;

int pt = 0;

for(int i = 1; i < num; i++)

if(!(num % i)) pt += i;

if(num == pt) return true;

return false;

}

int sum(int **a, int n)

{

int s=0;

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

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

if (is_perfect(a[i][j])==true)

s=s+a[i][j];

return s;

}

  1. В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов определить количество строк, начинающихся и заканчивающихся гласными а и е.

#include "iostream"

#include "conio.h"

#include "windows.h"

using namespace std;

int obrab(char *s)

{

int a;

a=0;

if ((s[0]=='а' || s[0]=='е') && (s[strlen(s)-1]=='а' || s[strlen(s)-1]=='е'))

{

a++;

}

return a;

}

Int main()

{

//setlocale(LC_ALL, "");

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

int x,p=0,h=0,k=0;

char s[80];

while (p==0)

{

cout <<"\nменю\n1-ввод новой строки\n2-выход\n3-вывод\n";

cin >> x;

switch(x)

{

case 1:

h++;

if(h!=11)

{

getchar();

gets(s);

k=k+obrab(s);

}

else

cout << "\nВведено уже 10 строк!";

break;

case 2:

p=1;

break;

case 3:

cout << k;

break;

default:

cout<< "ошибка";

}

}

}

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

#include <iostream>

using namespace std;

int prost(int x);

int SummProst(int **, int n);

void vivod(int **x, int n);