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

Int main()

{

setlocale (LC_ALL, "RUS");

int i,j,n,m,mas[100][100], masA[100], min, k=0;

printf("введите кол-во строк и столбцов ");

scanf("%d%d", &n, &m);

printf("\n введите элементы \n");

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

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

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

}

}

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

masA[k]=mas[0][j];

k++;

masA[k]=mas[n-1][j];

k++;

}

for (j=1; j<n-1; j++)

{

masA[k]=mas[j][0];

k++;

masA[k]=mas[j][m-1];

k++;

}

//метод пузырька

for (j=0; j<k-1; j++){

if (masA[j] > masA[j+1]){

min=masA[j];

masA[j]=masA[j+1];

masA[j+1]=min;

j=-1;

}

}

printf("полученный массив: \n");

for(j=0;j<k;j++){

printf ("%d ", masA[j]);

}

getch ();

return 0;

}

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

#include <stdio.h>

#include <conio.h>

#include <math.h>

#include <string.h>

int latino(char *A)

{

int i,n=strlen(A);

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

if ((A[i]>='A')&&(A[i]<='Z'))

return 1;

else

if ((A[i]>'a')&&(A[i]<='z'))

return 1;

return 0;

}

void main()

{

int i,k;

char A[10][80];

printf("vvodite stroki\n");

for(i=0;gets(A[i])!=NULL;i++);

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

{

if (latino(A[k]))

printf("v %d stroke estb latino\n",k+1);

}

getch();

}

  1. Дано: целочисленный одномерный массив A[N]. Сформировать одномерный массив В из подряд идущих элементов массива А, которые в сумме дают число 100, либо сообщить, что массив В создать нельзя

#include <iostream>

#include<conio.h>

using namespace std;

Int main()

{ int const N=100;

int i,j,n,k,t;

int S=0; int a[N]={},b[N]={};

cout <<"Vvedite kol-vo elementov\n";

cin >> n;

cout<<"Vvedite elementy\n";

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

cin>>a[i];

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

cout << a[i] <<" ";

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

{

S=0;

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

{

S=S+a[i];

if(S==100)

{ k=i;

t=1;;

}

}

if(t==1)

break;

else

cout << "\nnot rezult!";

for(j;j<=k;j++)

cout<<b[j]<<" ";

}

cout<<"\n poluchennbIi massiv:";

for(j;j<=k;j++)

cout<< a[j]<< " ";

getch();

}

  1. Дана прямоугольная целочисленная матрица A[N,M]. Сформировать матрицу В[N,M], элементы которой равны числу нулевых элементов, расположенных по горизонтали по соседству с соответствующим элементом матрицы А. Глобальных переменных не использовать.

#include <iostream>

#include <conio.h>

using namespace std;

Int main()

{

int n, m, i, j;

cout<<"Enter n and m"<<endl;

cin>>n>>m;

if (m==1||m==0)

cout<<"error"<<endl;

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;

}

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

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

{

b[i]=new int [m];

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

b[i][j]=0;

}

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

if (a[i][1]==0)

b[i][0]=1;

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

if (a[i][m-2]==0)

b[i][m-1]=1;

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

for (j=1; j<m-1; j++)

{

if (a[i][j-1]==0)

b[i][j]++;

if (a[i][j+1]==0)

b[i][j]++;

}

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

{

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

cout<<a[i][j]<<" ";

cout<<endl;

}

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

{

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

cout<<b[i][j]<<" ";

cout<<endl;

}

getch();

return 0;

}