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

Вариант №14

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

#include <iostream>

#include <math.h>

#define SIZE 100

using namespace std;

void Vvod(int n, int arr[][SIZE])

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

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

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

cin >> arr[i][j];

}}}

void F(int n, int arr[][SIZE])

{ for(int i = 0; i < n/2; ++i)

{

int buf =arr[n-i-1][i] ;

arr[n-i-1][i] = arr[i][n-i-1 ];

arr[i][n-i-1] = buf;

}}

void Vivod(int n,int arr[][SIZE])

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

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

cout << arr[i][j] << " "; }

cout<<endl;

}

cout<<endl;

}

void main(){

int A [SIZE][SIZE];

int n;

cout << "ROW " << endl;

cin >> n;

if((n > 100 && n <= 0)){

cout<<"Error size"; system("pause"); return;

}

cout << "Massiv A" << endl;

Vvod(n, A);

cout << "\nMassiv A" << endl;

Vivod(n, A);

F(n, A);

cout << "\n\nMassiv A" << endl;

Vivod(n, A);

cout << endl;

system("pause");

}

Ввести символьную строку. Если ее длина кратна 3, удалить все цифры, делящиеся на 3. Вывести преобразованную строку. Дополнительные строки не использовать. (При выводе строк использовать функцию puts).

#include <stdio.h>

#include <iostream>

void input_str(char*);

void delNum(char*);

void main()

{

setlocale(LC_ALL, "Russian");

char str[100];

input_str(str);

//if(strlen(str)%3==0)

delNum(str);

puts(str);

}

void input_str(char* str)

{

puts("Введите строку!!!!!!!!!!:");

gets(str);

}

void delNum(char* str)

{

for(int i=0; i< strlen(str); ++i)

{

if((str[i]>='0' && str[i]<='9') && str[i]%3==0)

{

int j=i;

while(j<strlen(str))

{

str[j]=str[j+1];

++j;

}

--i;

}

}

}

Вариант №15

Дана матрица вещественных чисел X[M][N]. Вычислить сумму значений каждого столбца матрицы и вывести итоговый массив на экран.

#include <iostream>

#include <math.h>

#define SIZE 100

using namespace std;

void Vvod(int n, int m, double arr[][SIZE], double *y)

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

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

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

cin >> arr[i][j];

y[j] += arr[i][j];

} }

}

void Vivod(int n, int m, double arr[][SIZE])

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

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

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

} cout<<endl;

} cout<<endl;

}

void main(){

double A [SIZE][SIZE], B[SIZE]={0};

int n,m;

cout << "ROW" << endl;

cin >> n;

cout << "COL" << endl;

cin >> m;

if((n > 100 && n <= 0) || (m > 100 && m <= 0 )){

cout<<"Error size"; system("pause"); return;

}

cout << "Massiv A" << endl;

Vvod(n,m, A,B);

cout << "\nMassiv A" << endl;

Vivod(n, m, A);

cout << endl;

cout << "\n\nMassiv B" << endl;

for(int j = 0; j < m; ++j) cout<<B[j]<<' ';

}

Ввести символьную строку. Перед каждым символом ‘a’ добавить символ‘!’ Вывести преобразованную строку. Дополнительные строки не использовать. (При выводе строк использовать функцию puts).

#include <iostream>

using namespace std;

void Proc(char* str);

void Insert(int i, char* str);

void main()

{

setlocale(LC_ALL, "Russian");

const int SIZE = 100;

char str[SIZE];

cout << "Введи строку: " << endl;

gets(str);

Proc(str);

puts(str);

}

void Proc(char* str)

{ int i;

for(i = 0; i < strlen(str); ++i)

{

if(str[i] == 'a')

{

Insert(i, str);

++i;

}

}

}

void Insert(int i, char* str)

{ int k;

for(k = strlen(str)+1; k > i; --k)

{ str[k] = str[k-1]; }

str[i] = '!';

}

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