
Практическая часть:
В произвольном тексте на английском языке, содержащем не более 10 строк, в каждой строке не более 80 символов. Заменить первую букву каждого слова символом «пробел». Слово – это группа символов, заключенная между разделителями (пробел, запятая, точка и т.д.). Полученный текст напечатать.
В произвольном тексте на русском языке, содержащем не более 10 строк, в каждой строке не более 80 символов, заменить все гласные буквы текста символом пробела. Полученный текст напечатать.
#include <vector>
#include <string>
#include <iostream>
#include <conio.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);
}
for (int i=0; i<a.size(); i++)
for (int j=0; j<a[i].size(); j++)
if (a[i][j]=='a'||a[i][j]=='i'||a[i][j]=='e'||a[i][j]=='u'||a[i][j]=='o')
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>
#include <fstream>
#include <ctype.h>
#include <cstdlib>
using namespace std;
int search(string &str);
Int main()
{
string str;
ifstream fout;
fout.open("f_out.txt");
if (!fout.is_open())
{
cout<<"There is no file F_OUT.TXT";
exit(EXIT_FAILURE);
}
getline(fout, str);
int k=0, i=0;
while (fout.fail()==false)
{
i++;
if (search(str)==1)
{
k++;
cout<<i;
}
getline(fout, str);
}
if (k==0)
cout<<"There is no such strings \n";
}
Int search(string &str)
{
const char *glas="EeUuYyIiOoAa";
for (int i=0; i<str.size(); i++)
if (strchr(glas, str[i]))
return 1;
return 0;
}
Дано: три целочисленные квадратные матрицы. Определить, есть ли среди них единичная матрица. Определение, является ли матрица единичной, оформить как функцию. Единичная матрица квадратная матрица, элементы главной диагонали которой равны единице, а остальные равны нулю. Использовать динамическую память. Глобальных переменных не использовать.
#include <iostream>
#include <math.h>
#include <conio.h>
#include <iomanip>
using namespace std;
double f(double x);
Int main()
{
double a, b, x, e=0.0001;
cout<<"Enter A (begin of the interval)"<<endl;
cin>>a;
cout<<"Enter B (end of the interval)"<<endl;
cin>>b;
cout<<"Enter e (accuracy)"<<endl;
cin>>e;
if (f(a)*f(b)>0)
{
cout<<"This interval doesn't have a solution!"<<endl;
getch();
return 0;
}
do
{
x=a-(f(a)/(f(b)-f(a)))*(b-a);
if (f(x)*f(a)>0) a=x; else b=x;
}
while (abs(f(x))>e);
cout<<"x= "<<x;
cout.setf(ios::fixed);
cout<<"f(x)= "<<f(x);
getch();
return 0;
}
double f(double x)
{
double t=x*x*x-0.2*x*x+0.2*x-1.2;
return t;
}
Дана прямоугольная матрица. Найти номера строки и столбца для элемента матрицы, наиболее близкого к среднему арифметическому значению всех ее элементов. Поиск среднего арифметического значения матрицы оформить как функцию. Считать, что такой элемент один. Глобальных переменных не использовать.
#include <iostream>
#include <ctime>
#include <cstdlib>
#include <math.h>
#include <conio.h>
using namespace std;
double sred_arifm(double **a,int n,int m);
Int main()
{
srand(time(NULL));
double x, dif, sred;
int n, m, j, i, si=0, sj=0;
cin>>n>>m;
double **a=new double*[n];
for (i=0; i<n; i++)
{
a[i]=new double[m];
for (j=0; j<m; j++)
a[i][j]=(rand()%100)/3.;
}
for (i=0; i<n; i++){
for (j=0; j<m; j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
sred=sred_arifm(a, n, m);
dif=fabs(sred-a[0][0]);
for (i=0; i<n; i++)
for (j=0; j<m; j++)
if (fabs(sred-a[i][j])<dif)
{
dif=fabs(sred-a[i][j]);
si=i;
sj=j;
}
cout<<si<<" "<<sj;
getch();
}
double sred_arifm(double **a,int n,int m)
{
double sum=0;
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)
sum=sum+a[i][j];
sum=sum/(n*m);
return sum;
}
В произвольном тексте, содержащем не более 10 строк, в каждой строке не более 80 символов. Вывести:
самую длинную строку текста;
самую короткую строку текста;
все симметричные строки (палиндромы) текста.
Определение, является ли строка симметричной оформить как функцию. Глобальных переменных не использовать.
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
using namespace std;
int poly(string str);