Программа должна транспонировать матрицу 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д