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

Вариант №22

Дана матрица целых чисел A[M][N]. Найти максимальный и минимальный элемент каждой строки и поменять их местами.

#include <iostream>

#include <math.h>

#define SIZE 100

using namespace std;

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

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

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

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

cin >> arr[i][j];

}}

}

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

{ int i_min, j_min, i_max,j_max;

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

{ j_min = j_max = 0;

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

if( arr[i][j] < arr[i][j_min] ) j_min = j;

if( arr[i][j] > arr[i][j_max] ) j_max = j;

}

int buf = arr[i][j_min];

arr[i][j_min]=arr[i][j_max];

arr[i][j_max]= buf;

}

}

void Vivod(int n, int m, int 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(){

int A [SIZE][SIZE];

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);

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

Vivod(n, m, A);

F( n, m, A);

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

Vivod(n, m, A);

}

Дан массив действительных чисел A[N]. Все отрицательные элементы заменить единицами. Полученный массив вывести на экран.

#include <iostream>

using namespace std;

void main()

{

int n;

cout << "Razmer:" << endl;

cin >> n;

double *arr = new double[n];

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

{

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

cin >> arr[i];

}

cout << "Massiv " << endl;

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

{

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

}

cout << endl;

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

{ if(arr[i] < 0)

{

arr[i] = 1;

}

}

cout << "Massiv preobrazovan!" << endl;

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

{

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

}

cout << endl;

delete[] arr;

}

Вариант №23

Дана матрица целых вещественных A[M][N]. Найти максимальный и минимальный элемент каждого столбца и поменять их местами.

#include <iostream>

#include <math.h>

#define SIZE 100

using namespace std;

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

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

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

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

cin >> arr[i][j];

} }

}

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

{ int i_min, j_min, i_max,j_max;

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

{ i_min = i_max = 0;

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

if( arr[i][j] < arr[i_min][j])

i_min = i;

if( arr[i][j] > arr[i_max][j])

i_max = i; }

int buf = arr[i_max][j];

arr[i_max][j]=arr[i_min][j];

arr[i_min][j]= buf;

}}

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];

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);

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

Vivod(n, m, A);

F( n, m, A);

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

Vivod(n, m, A);

}

Дан массив целых чисел A[N]. Все четные элементы заменить единицами. Полученный массив вывести на экран.

#include <iostream>

using namespace std;

void main()

{

int n;

cout << "Razmer:" << endl;

cin >> n;

int *arr = new int[n];

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

{ cout << "arr[" << i << "]: ";

cin >> arr[i];

}

cout << "Massiv " << endl;

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

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

cout << endl;

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

{ if(arr[i]%2 == 0)

{

arr[i] = 1;

}

}

cout << "Massiv preobrazovan!" << endl;

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

{

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

}

cout << endl;

delete[] arr;

}

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