Ввести с клавиатуры матрицу MxN, выдать на печать её и транспонированную матрицу - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, прошу у Вас помощи! Учусь на 1 курсе ВУЗа, не объяснив ничего и не прочитав лекций, задали написать программы на Си. Я абсолютный новичок в Си, да и вообще в программировании знаниями не блещу. Здесь вот мои наработки, компилятор выводит матрицу, а потом вместо транспонированной выводит опять первую матрицу. Пожалуйста, помогите найти ошибки
#include <stdio.h>
#include <conio.h>
 
int main()
{
int i=0, j=0, N=0, M=0, k=0;
printf ("Chiclo strok=");
scanf ("%d", &M);
printf ("Chiclo stolbcov=");
scanf ("%d", &N);
 
int A[M][N];
printf ("\nVvedite elementi matrici=");
for (i=0; i<M; i++)
{
    for (j=0; j<N; j++)
    {
        printf ("\nA[%d][%d]=", i, j);
        scanf ("%d", &(A[i][j]));
    }
}
printf ("\nVivod matrici");
for (i=0; i<M; i++)
{
    for (j=0; j<N; j++)
    {
        printf ("\nA[%d][%d]= %d\n", i, j, A[i][j]);
    }
}
for (i=1; i<M; i++)
{
    for (j=1; j<N; j++)
    {
        k=A[i][j];
        A[i][j]=A[j][i];
        A[j][i]=k;
    }
}
printf ("\nVivod trans matrici");
for (i=0; i<M; i++)
{
    for (j=0; j<N; j++)
    {
        printf ("\nA[%d][%d]= %d\n", i, j, A[i][j]);
    }
}
getch ();
return 0;
}
[/CLANG]

Решение задачи: «Ввести с клавиатуры матрицу MxN, выдать на печать её и транспонированную матрицу»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define N 7
#define M 12
int main()
{
    int i, j, x = 1, A[N][M];
    for(i = 0; i < N; i++, putchar('\n'))
        for(j = 0; j < M; j++, x++)
            printf("%3d", A[i][j] = x);
    putchar('\n');
    for(j = 0; j < M; j++, putchar('\n'))
        for(i = 0; i < N; i++)
            printf("%3d", A[i][j]);
    return 0;
}

Объяснение кода листинга программы

В этом коде происходит ввод матрицы MxN с клавиатуры и её вывод на экран, а также вывод транспонированной матрицы. Список действий, которые выполняются в коде:

  1. Подключение необходимых библиотек.
  2. Определение размеров матрицы N и M.
  3. Инициализация счётчика x для заполнения матрицы.
  4. Создание матрицы A[N][M].
  5. Заполнение матрицы A с помощью двух вложенных циклов.
  6. Вывод на экран содержимого матрицы A с помощью двух вложенных циклов.
  7. Вывод на экран транспонированной матрицы A.
  8. Возврат 0, чтобы указать, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.6 из 5
Похожие ответы