Программа должна транспонировать матрицу 5 на 3 - C (СИ)
Формулировка задачи:
почему не работает?
#include <stdio.h>
int sampleMatrix[3][5]={
{7,16,55,13,12},
{12,10,52,0,7},
{-2,1,2,4,9}
};
int newMatrix[5][3];
void transpose(int sampleMatrix[3][5],int newMatrix[5][3]){
int rows=3;
int column=5;
for(int i=0;i<rows;i++)
for(int z=0;z<column;z++)
newMatrix[column][rows]=sampleMatrix[rows][column];
}
int main(void){
int rows=5;
int column=3;
transpose(sampleMatrix,newMatrix);
for(int i=0;i<rows;i++)
for(int z=0;z<column;z++)
printf("%i\n",newMatrix[column][rows]);
}Решение задачи: «Программа должна транспонировать матрицу 5 на 3»
textual
Листинг программы
#include <stdio.h>
int sampleMatrix[3][5] = {
{ 7, 16, 55, 13, 12 },
{ 12, 10, 52, 0,7 },
{ -2, 1, 2, 4, 9 }
};
int newMatrix[5][3];
void transpose(int sampleMatrix[3][5], int newMatrix[5][3]) {
int rows = 3;
int column = 5;
for (int i = 0; i<rows; i++)
for (int z = 0; z<column; z++)
newMatrix[z][i] = sampleMatrix[i][z];
}
int main(void)
{
int rows = 5;
int column = 3;
transpose(sampleMatrix, newMatrix);
printf("\n\n");
for (int i = 0; i<rows; i++)
{
for (int z = 0; z<column; z++)
{
printf("%i ", newMatrix[i][z]);
}
printf("\n");
}
}
Объяснение кода листинга программы
В данном коде представлена программа для транспонирования матрицы 5 на 3. Список действий:
- Объявление и инициализация исходной матрицы
sampleMatrixи новой матрицыnewMatrix. - Определение функции
transpose, которая выполняет транспонирование матрицы. - В функции
mainзадаются размеры матрицыrowsиcolumn. - Вызывается функция
transposeс передачей исходной матрицыsampleMatrixи новой матрицыnewMatrix. - Выводится транспонированная матрица с помощью цикла
forи функцииprintf.