Консультация № 168028
22.05.2009, 21:16
0.00 руб.
0 1 1
Составьте пожалуйста программу, используя команды цикла для обработки матриц, с использованием вложенных циклов:
Дана действительная квадратная матрица порядка n. Преобразовать матрицу по следующему правилу: строку с номером n сделать столбцом с номером n, а столбец с номером n - строкой с номером n.

Обсуждение

Неизвестный
23.05.2009, 23:54
общий
это ответ
Здравствуйте, Митяй Белый Андреевич!

При необходимости функцию fillm можно переписать для ручного заполнения исходной матрицы.

Приложение:
#include <stdio.h>

#define Dim 5

void printm(int m[Dim][Dim])
{
int x,y;
for(y = 0; y < Dim; y++)
{
for(x = 0; x < Dim; x++)
printf("%d\t", m[y][x]);
printf("\n");
}
}

void fillm(int m[Dim][Dim])
{
int x,y;
for(y = 0; y < Dim; y++)
for(x = 0; x < Dim; x++)
m[y][x] = 10*y + x + 11;
}

void tran(int m[Dim][Dim])
{
int x,y;
int tmp;
for(x = 0; x < Dim; x++)
for(y = 0; y < x; y++)
{
tmp = m[y][x];
m[y][x] = m[x][y];
m[x][y] = tmp;
}

}
int main(int argc, char *argv[])
{
int m[Dim][Dim];

fillm(m);
printf("Исодная матрица\n");
printm(m);
tran(m);
printf("Результирующая матрица\n");
printm(m);

return 0;
}
Форма ответа