
Практическая часть:
В произвольном тексте на английском языке, содержащем не более 10 строк, в каждой строке не более 80 символов. Заменить первую букву каждого слова символом «пробел». Слово – это группа символов, заключенная между разделителями (пробел, запятая, точка и т.д.). Полученный текст напечатать.
#include <vector>
#include <string>
#include <iostream>
#include <conio.h>
#include <ctype.h>
using namespace std;
int main()
{
vector<string> a;
string t;
getline(cin, t);
while(cin.fail()==false)
{
a.push_back(t);
getline(cin, t);
}
int j, k;
for (int i=0; i<a.size(); i++)
{
j=0;
while (j<a[i].size())
{
while (!isalnum(a[i][j])&& j<a[i].length())
j++;
k=j;
while (isalnum(a[i][j])&& j<a[i].length())
j++;
a[i][k]=' ';
}
}
for (int i=0; i<a.size(); i++)
cout<<a[i]<<endl;
getch();
}
В произвольном тексте на русском языке, содержащем не более 10 строк, в каждой строке не более 80 символов, заменить все гласные буквы текста символом пробела. Полученный текст напечатать.
#include <vector>
#include <string>
#include <iostream>
#include <conio.h>
using namespace std;
Int main()
{
vector<string> a;
string t;
const char * gl="AaEeUuIiOoYy";
getline(cin, t);
while(cin.fail()==false)
{
a.push_back(t);
getline(cin, t);
}
for (int i=0; i<a.size(); i++)
for (int j=0; j<a[i].size(); j++)
if (strchr(gl, a[i][j]))
a[i][j]=' ';
for (int i=0; i<a.size(); i++)
cout<<a[i]<<endl;
getch();
}
Дано: целочисленная матрица A[N,M] и натуральное число х. Вывести номера строк матрицы, в которых встречается заданное число х. Определение, является ли строка матрицы таковой, оформить как функцию. Ввод и вывод элементов матрицы оформить как функцию. Использовать динамическую память. Глобальных переменных не использовать.
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void vvod(int **a, int na, int ma)
{
int i,j;
for(i=0;i<na;i++)
for(j=0;j<ma;j++)
scanf("%d",&a[i][j]);
}
void vivod(int **a, int na, int ma)
{
int i,j;
for(i=0;i<na;i++)
{
printf("\n");
for(j=0;j<ma;j++)
printf("%5d",a[i][j]);
}
}
void poisk(int **a,int na, int ma, int &x)
{
int i,j;
for(i=0;i<na;i++)
for(j=0;j<ma;j++)
if(a[i][j]==x)
printf("\nNomer stroki:%d",i);
}
Int main()
{
int x,n,m;
int **a;
int i,j;
printf("\nVvedite x:");
scanf("%d",&x);
printf("\nVvedite razmer matrici:");
scanf("%d%d",&n,&m);
a=new int*[n];
for(i=0;i<n;i++)
a[i]=new int[m];
printf("\nVvedite a:");
vvod(a,n,m);
printf("a:");
Vivod(a,n,m);
poisk(a,n,m,x);
getch();
}
В произвольном тексте на русском языке, содержащем не более 10 строк, в каждой строке не более 80 символов. Вывести те строки текста, в которых встречаются гласные буквы. Определение, является ли строка текста таковой, оформить как функцию. Глобальных переменных не использовать.
#include <iostream>
#include <string.h>
#include <vector>
#include <string>
#include <conio.h>
using namespace std;
static const char * gl="EeYyUuIiOoAa";
int search(string &str);
Int main()
{
vector <string> a;
string t;
getline(cin, t);
a.push_back(t);
while (cin.fail()==0)
{
getline(cin, t);
a.push_back(t);
}
int k=0, i=0;
for (int i=0; i<a.size(); i++)
{
if (search(a[i])==1)
{
k++;
cout<<a[i]<<endl;
}
}
if (k==0)
cout<<"There is no such strings \n";
getch();
return 0;
}
Int search(string &str)
{
for (int i=0; i<str.size(); i++)
if (strchr(gl, str[i]))
return 1;
return 0;
}
Дано: три целочисленные квадратные матрицы. Определить, есть ли среди них единичная матрица. Определение, является ли матрица единичной, оформить как функцию. Единичная матрица квадратная матрица, элементы главной диагонали которой равны единице, а остальные равны нулю. Использовать динамическую память. Глобальных переменных не использовать.
#include <iostream>
#include <conio.h>
using namespace std;
int is_int(int **a,int n);
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;
if (is_int(a, n)==1)
cout<<"matrix a is ed"<<endl;
else
cout<<"matrix a is not ed"<<endl;
if (is_int(b, n)==1)
cout<<"matrix b is ed"<<endl;
else
cout<<"matrix b is not ed"<<endl;
if (is_int(c, n)==1)
cout<<"matrix c is ed"<<endl;
else
cout<<"matrix c is not ed"<<endl;
getch();
return 0;
}
int is_int(int **a,int n)
{
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
if (i==j)
if (a[i][j]!=1)
return 0;
else;
else
if (a[i][j]!=0)
return 0;
return 1;
}
Дана прямоугольная матрица. Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему арифметическому значению всех ее элементов. Поиск среднего арифметического значения матрицы оформить как функцию. Считать, что такой элемент один. Глобальных переменных не использовать.
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <math.h>
#include <conio.h>
using namespace std;
double sred_arifm(double **a,int n,int m);