Исправить код транспонирования матрицы - C (СИ)
Формулировка задачи:
помогите пожалуйста исправить программу
вот я написал но она не работает
помогите это исправить
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> int main() { setlocale(LC_ALL,"Rus"); int i, j,a,b; int st1,st2; int M,N; srand(time(NULL)); printf("введите количество строк и столбцов\n"); scanf("%i",&M); scanf("%i",&N); int **mas = (int**) malloc(M * sizeof(int*)); for(i = 0; i<M;i++) mas[i] = (int*) malloc(N*sizeof(int)); int **mas2 = (int**) malloc(N * sizeof(int*)); for(i = 0; i<N;i++) mas[i] = (int*) malloc(M*sizeof(int)); printf("Введенный массив:\n"); for (i=0;i<M;i++) { for(j=0;j<N;j++) { mas[i][j] = rand()%10-5; printf("%4d", mas[i][j]); } printf("\n"); } for (a=0;a<M;a++) { for(b=0;b<N;b++) { for(i=0;i<N;i++) { for(j=0;j=M;j++) { mas2[i][j]=mas[a][b]; } } } } printf("\n\nAfter swap:\n"); for (i=0;i<N;i++) { for(j=0;j<M;j++) printf("%4d", mas2[i][j]); printf("\n"); } system("PAUSE"); return 0; }
Решение задачи: «Исправить код транспонирования матрицы»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <locale.h> int main() { setlocale(LC_ALL, "Rus"); int i, j; int M, N; srand(time(NULL)); printf("введите количество строк и столбцов\n"); scanf("%d %d", &M, &N); int mas[M][N], mas2[N][M]; printf("Введенный массив:\n"); for (i = 0; i < M; i++) { for (j = 0; j < N; j++) { mas[i][j] = rand() % 10 - 5; printf("%4d", mas[i][j]); } printf("\n"); } for (i = 0; i < N; i++) { for (j = 0; j < M; j++) { mas2[i][j] = mas[j][i]; } } printf("\n\nAfter swap:\n"); for (i = 0; i < N; i++) { for (j = 0; j < M; j++) { printf("%4d", mas2[i][j]); } printf("\n"); } system("pause"); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Установка русской локали
- Объявление переменных i, j, M, N
- Инициализация генератора случайных чисел
- Вывод сообщения с просьбой ввести количество строк и столбцов
- Считывание количества строк и столбцов с помощью функции scanf
- Выделение памяти под матрицу mas и mas2
- Вывод введенной матрицы mas с помощью двух вложенных циклов и функции printf
- Транспонирование матрицы с помощью двух вложенных циклов и функции scanf
- Вывод транспонированной матрицы mas2 с помощью двух вложенных циклов и функции printf
- Ожидание нажатия клавиши с помощью функции system
- Завершение программы с возвратом 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д