Начальный адрес массива Matrix
Количество строк Row Count
Количество столбцов Column Count
Размер типа ST = sizeof (int)
Длина строки ST * Column Count
Пример 6. Найти максимальный и минимальный элемент матрицы. Поменять их местами и вывести полученную матрицу.
Для работы с матрицей создадим функции ввода (Enter_m()), обработки (Min_max()) и вывода матрицы (Print_m()):
#include<conio.h>
#include<stdio.h>
#define N 7
void Enter_m (int arr[][N], int &m, int &n)
{
int i, j;
printf ("\n Введи размерности матрицы:");
scanf ("%d %d", &m, &n);
printf (" Введи матрицу :\n");
for ( i=0; i < m; i++)
for ( j=0; j < n; j++) scanf("%d", &arr [i][j]);
}
void Min_max (int arr[][N], int m, int n, int& min, int& max)
{
int i, j, s_min=0, c_min=0, s_max=0, c_max=0 ;
min = max = arr[0][0];
for(i=0; i < m; i++)
for(j=0; j < n; j++)
{
if (arr [i][j] < min) {min = arr [i][j]; s_min =i; c_min =j;}
if (arr [i][j] > max) {max = arr [i][j]; s_max=i; c_max=j;}
}
arr [s_min][c_min] = max;
arr [s_max][c_max] = min;
}
void Print_m (int arr[][N], int m, int n)
{
int i, j;
printf (" Матрица – результат :\n");
for( i=0; i < m; i++)
{
for( j=0; j < n; j++) printf ("%3d ", arr[i][j]);
printf("\n");
}
}
void main()
{
int ks, kc, i, j, m[N][N];
Enter_m (m, ks, kc);
Min_max (m, ks, kc, j, i);
Print_m (m, ks, kc);
printf ("\n Минимальное число: %d", j);
printf ("\n Максимальное число: %d", i);
getch ();
}
1. Написать функцию транспонирования матрицы.
2. Дана матрица размером M*N. Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент оказался в верхнем левом углу.
3. Уменьшить матрицу А размером M*N путём удаления столбца с максимальным элементом.
4. Дана матрица целых чисел. Упорядочить её строки по возрастанию значений их первых элементов.
5. Преобразовать матрицу A размером M*M путём построчного вычитания элементов побочной диагонали.
6. Дана матрица целых чисел. Упорядочить её строки по возрастанию сумм их элементов.
7. Дана матрица целых чисел. Упорядочить ее строки по возрастанию значений их наибольших элементов.
8. Дана матрица M на N. Переставляя её строки и столбцы, добиться того, чтобы наименьший элемент оказался в верхнем левом углу.
9. Уменьшить матрицу Z размером M*N путём вычёркивания строки, в которой стоит минимальный по величине элемент.
10. Упорядочить строки матрицы по возрастанию наименьших элементов строк.
11. Переставить местами строки матрицы M размером M*N, содержащие минимальный и максимальный по величине элементы.
12. Для заданной матрицы найти сумму положительных и отрицательных элементов по каждой строке и сформировать из этих сумм двумерный массив, который вывести на печать.
13. Определить k - количество "особых" элементов матрицы С, считая элемент "особым", если он больше суммы остальных элементов своего столбца.
14. В матрице размером M*N выбрать и вывести на экран строки, содержащие заданное значение К.
15. Вычислить сумму положительных элементов матрицы А размером N*N, расположенных над главной диагональю.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.