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

Void main(){

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

cout<<F(n, A)<<"\n\n";

system("pause");

}

.

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

#include <iostream>

#include <math.h>

#define SIZE 100

using namespace std;

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

{

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

{

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

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

cin >> arr[i][j];

}

}

}

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

{

double max = arr[0][n-1];

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

if(arr[n-i-1][i] > max)

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

}

return max;

}

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

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

cout<<F(n, A)<<"\n\n";

system("pause");

}

  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 Max(int n, int m, double arr[][SIZE], int& i_max, int & j_max)

{

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

{

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

if(i<j && arr[i][j] > arr[i_max][j_max])

{

i_max = i; j_max = 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], max;

int n,m, i_max=0, j_max=1;

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

Max( n, m, A, i_max, j_max);

cout<< "max=["<<i_max<<"]["<<j_max<<"]="<<A[i_max][j_max]<<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 Min(int n, int m, double arr[][SIZE], int& i_min, int & j_min)

{

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

{

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

if(i>j && arr[i][j] < arr[i_min][j_min])

{

i_min = i; j_min = 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], max;

int n,m, i_min=1, j_min=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);

Min( n, m, A, i_min, j_min);

cout<< "max=["<<i_min<<"]["<<j_min<<"]="<<A[i_min][j_min]<<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 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);

}

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

}

  1. Дана матрица целых чисел A[M][N]. Определить наименьший элемент i-ой строки. Число i ввести с клавиатуры Матрицу и найденное значение вывести на экран.

#include <iostream>

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

int I;

cout<<"Nomer stroki:";

cin>>I;

if(I > n && I < 0){

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

}

int min = A[I][0];

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

if(A[I][j] < min ){

min = A[I][j];

}

}

cout << "\nmin " << min<< endl;

}

  1. Дана матрица вещественных чисел A[M][N]. Определить наибольший элемент i-ой строки. Число i ввести с клавиатуры Матрицу и найденное значение вывести на экран.

#include <iostream>

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

int I;

cout<<"Nomer stroki:";

cin>>I;

if(I > n && I < 0){

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

}

double max = A[I][0];

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

if(A[I][j] > max ){

max = A[I][j];

}

}

cout << "\nmax " << max<< endl;

}

  1. Дана матрица целых чисел A[M][N]. Определить наименьший элемент j-го столбца. Числоj ввести с клавиатуры Матрицу и найденное значение вывести на экран.

#include <iostream>

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

int J;

cout<<"Nomer stroki:";

cin>>J;

if(J > n && J < 0){

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

}

int min = A[J][0];

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

if(A[i][J] < min ){

min = A[i][J];

}

}

cout << "\nmin " << min<< endl;

}

  1. Дана матрица вещественных чисел A[M][N]. Определить наибольший элемент j-го столбца. Число j ввести с клавиатуры Матрицу и найденное значение вывести на экран.

#include <iostream>

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

int J;

cout<<"Nomer stroki:";

cin>>J;

if(J > m && J < 0){

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

}

double max = A[J][0];

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

if(A[i][J] > max ){

max = A[i][J];

}

}

cout << "\nmax " << max<< endl;

}

  1. Отсортировать по возрастанию j-ый столбец матрицы действительных чисел X[M][N]. Число j ввести с клавиатуры. Исходную и преобразованную матрицы вывести на экран

#include <iostream>

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

int J;

cout<<"Nomer stroki:";

cin>>J;

if(J > m && J < 0){

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

}

for (int K=1; K<m ;++K){

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

if(A[i][J] < A[i+1][J]){

double buf =A[i][J];

A[i][J] = A[i+1][J];

A[i+1][J] = buf;

}

}

}

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

Vivod(n,m, A);

cout << endl;

}