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

Int main()

{

vector<string> a;

string str;

getline(cin, str);

while (cin.fail()==false)

{

a.push_back(str);

getline(cin, str);

}

for (int i=0; i<a.size(); i++)

if (prep(a[i])) cout<<a[i]<<endl;

getch();

}

int prep(string str)

{

const char* s=".,;-!?";

for (int i=0; i<str.size(); i++)

if (strchr(s, str[i]))

return 1;

return 0;

}

  1. Дано: квадратная матрица A[N,N]. Определить, есть в матрице строки, в которых сумма элементов одинакова. Оформить как функцию нахождение суммы элементов строки. Использовать динамическую память. Глобальных переменных не использовать.

#include <iostream>

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

Void vvod(int **X,int nx)

{

int i,j;

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

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

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

}

void vivod(int **x, int nx)

{

int i,j;

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

{

printf("\n");

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

printf("%5d",x[i][j]);

}

}

void sum(int **x,int nx)

{

int i,j;

int p=0;

int *s=new int[nx];

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

s[i]=0;

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

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

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

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

if(s[i]==s[p])

printf("\nYes");

else

printf("\nNo");

}

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).

using namespace std;

int sum(int *a, int n);

Int main()

{

int n, m, j, i;

cin>>n>>m;

srand(time(NULL));

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

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

{

a[i]=new int[m];

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

a[i][j]=rand()%2;

}

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

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

cout<<a[i][j];

cout<<endl;

}

int *b=new int[n];

int t;

b[0]=sum(a[0], m);

cout<<"Result: \n";

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

{

t=sum(a[i],m);

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

{

if (b[j]==t)

{

cout<<i<<" "<<j<<endl;

break;

}

b[i]=t;

}

}

getch();

}

int sum(int *a, int n)

{

int sum=0;

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

sum=sum+a[i];

return sum;

}

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

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

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

bool is_perfect(int num)

{

int pt = 0;

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

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

if(num == pt) return true;

return false;

}

bool is_chet(int number)

{

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

else return false;

}

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