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

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 sort(int n, int m, int arr[][SIZE], int row)

{

for(int i = 1; i < m; ++i)

{

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

if(arr[row][j] > arr[row][j + 1 ])

{

int buf =arr[row][j] ;

arr[row][j] = arr[row][j + 1 ];

arr[row][j + 1] = 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, i_max=0, j_max=0;

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

for(int i = 0; i < n; ++i) sort (n,m,A,i);

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

Vivod(n,m, A);

cout << endl;

}

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

#include <iostream>

#include <math.h>

#define SIZE 100

using namespace std;

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

{

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

{

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

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

cin >> arr[i][j];

}

}

}

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

{

for(int i = 1; i < m; ++i)

{

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

if(arr[row][j] > arr[row][j + 1 ])

{

double buf =arr[row][j] ;

arr[row][j] = arr[row][j + 1 ];

arr[row][j + 1] = 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);

for(int i = 0; i < n; ++i) sort (n,m,A,i);

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

Vivod(n,m, A);

cout << endl;

}

  1. Дана матрица целых чисел 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 sort(int n, int m, int arr[][SIZE], int col)

{

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

{

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

if(arr[j][col] > arr[j+1][col])

{

int buf = arr[j][col] ;

arr[j][col] = arr[j+1][col] ;

arr[j+1][col] = 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);

for(int j = 0; j < m; ++j) sort (n,m,A,j);

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

Vivod(n,m, A);

cout << endl;

}

  1. Дана матрица вещественных чисел 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 sort(int n, int m, double arr[][SIZE], int col)

{

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

{

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

if(arr[j][col] < arr[j+1][col])

{

double buf = arr[j][col] ;

arr[j][col] = arr[j+1][col] ;

arr[j+1][col] = 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);

for(int j = 0; j < m; ++j) sort (n,m,A,j);

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

Vivod(n,m, A);

cout << endl;

}

  1. Дана матрица целых чисел 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[i][i] ;

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

arr[n-i-1][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;

}