Int main()
{
int k=0;
string max, min, str;
Ifstream fout;
fout.open("f_out.txt");
If (!fout.Is_open())
{
cout<<"There is no F_OUT.TXT file \n";
cout<<"Program terminating \n";
exit(EXIT_FAILURE);
}
getline(fout, str);
max=str;
min=str;
while (fout.fail()==false)
{
if (min.size()>str.size())
min=str;
if (max.size()<str.size())
max=str;
if (poly(str)) cout<<str<<endl;
getline(fout, str);
}
cout<<max<<endl;
cout<<min<<endl;
getch();
}
int poly(string str)
{
int n=str.size();
for (int i=0; i<n/2; i++)
{
if (str[i]!=str[n-i-1])
return 0;
}
return 1;
}
В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов, определить номера строк в которых встречаются знаки препинания. Считать, что в тексте встречаются только следующие знаки препинания: точка, запятая, точка с запятой, вопросительный знак, восклицательный знак, тире.
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
#include <vector>
using namespace std;
int prep(string str);
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;
}
Дано: квадратная матрица 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();
}
Дано: три целочисленные квадратные матрицы. Вывести ту из них, сумма совершенных чисел которой наименьшая (считать, что такая матрица одна). Оформить как функцию нахождение суммы совершенных чисел матрицы. Использовать динамическую память Глобальных переменных не использовать. Совершенные числа – это натуральные числа, равные сумме всех своих делителей за исключением самого себя (например, число 6 совершенно 6 = 1+2+3).
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <conio.h>
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;
}
В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов определить количество строк, начинающихся и заканчивающихся гласными а и е.
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <ctime>
#include <math.h>
using namespace std;
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);
