Поменять местами строки матрицы с номерами K1 и K2 - C (СИ)
Формулировка задачи:
Дана матрица размера M х N и целые числа K1 и K2(1<K1<K2<M). Поменять местами строки матрицы с номерами K1 и K2. на Си
Решение задачи: «Поменять местами строки матрицы с номерами K1 и K2»
textual
Листинг программы
int i, j, M, N, K1, K2, iBuf;
int A[50][50];
M = 10;
N = 5;
K1 = 3;
K2 = 5;
// Заполнение матрицы
for(i = 0; i < M; i++)
{
for(j = 0; j < N; j++)
{
A[i][j] = i + j;
printf("A[%d][%d] = %d ", i, j, A[i][j]);
}
printf("\r\n");
}
// Замена строк
for(j = 0; j < N; j++)
{
iBuf = A[K1-1][j];
A[K1-1][j] = A[K2-1][j];
A[K2-1][j] = iBuf;
}
printf("\r\n\r\n\r\n");
// Вывод результата
for(i = 0; i < M; i++)
{
for(j = 0; j < N; j++)
{
printf("A[%d][%d] = %d ", i, j, A[i][j]);
}
printf("\r\n");
}
Объяснение кода листинга программы
- Объявлены переменные:
- i, j, M, N, K1, K2, iBuf, A[50][50]
- Задаются значения переменных:
- M = 10, N = 5, K1 = 3, K2 = 5
- Заполняется матрица A значениями i + j
- Выводится на экран содержимое матрицы A
- Происходит замена строк в матрице A:
- Для каждой строки j от 0 до N-1
- Перемещается значение iBuf в переменную iBuf
- Значение A[K1-1][j] заменяется на значение A[K2-1][j]
- Значение A[K2-1][j] заменяется на значение iBuf
- Для каждой строки j от 0 до N-1
- Выводится на экран обновленное содержимое матрицы A