Реорганизация матрицы - C (СИ)

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

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

Здравствуйте. У меня такой вопрос, я задал матрицу транспонировал её но возникла проблема с сортировкой строк транспонированной матрицы в порядке возрастания своих значений пробовал пузыриком но никакого эффекта. Подскажите пожалуйста как это сделать . Заранее спасибо
#include <conio.h>
#include <stdio.h>
#include <math.h>
#define n 5
void main()
{
float B[n][n],B1[n][n],r,m;
int i,j,jm;
clrscr();
printf("Zadat massiv B[%i][%i]:\n", n, n);
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{
B[i][j]=cos(i)-sin(j);
printf("%5.2f ",B[i][j]);
}
printf("\n");
}
printf ("Vyvod massiva B1[%i][%i]:\n", n, n);
 
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
{ B1[i][j]=B[j][i];
printf("%5.2f ", B1[i][j]);
}
printf("\n");
}
printf ("Vyvod massiva B1[%i][%i]: \n", n, n);
printf ("\n");
 
// Интересует с этого места
for (j=0;j<n-1;j++)
{ jm=j-1;
for(i=j;i<n;i++)
{ if(B1[i][j]<B1[i][jm])
jm=j;
r=B1[i][jm];
B1[i][jm]=B1[i][j];
B1[i][j]=r;
}
 
}
for (i=0;i<n;i++)
{ for (j=0;j<n;j++)
{ printf("%5.2f ", B1[i][j]);
 
}
printf("\n");
}
getch();
}

Решение задачи: «Реорганизация матрицы»

textual
Листинг программы
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
#define N 5
int main()
{
    int matr[5][5]={
        {1,2,3,4,5},
        {5,4,3,2,1},
        {2,3,4,1,5},
        {1,5,2,4,3},
        {5,1,2,4,3} };
    for(int i=0; i<N; i++,cout<<endl)
        for(int j=0; j<N; j++)
            cout<<matr[i][j];
    cout<<endl;
    int vsp;
    for(int i=0 ; i<N; i++)
        for(int j=0; j< N-1; j++)
            for(int k=j; k< N ; k+=1)
                if(matr[i][j] > matr[i][k] )
                {
                    
                    vsp=matr[i][j];
                    matr[i][j]=matr[i][k];
                    matr[i][k]=vsp;
                }
    for(int i=0; i<N; i++,cout<<endl)
        for(int j=0; j<N; j++)
            cout<<matr[i][j];
}

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

Код выполняет перестановку элементов в матрице. Вот список, объясняющий, что происходит:

  1. Создается матрица размером 5x5, заполненная значениями.
  2. Выводится на экран содержимое матрицы.
  3. В цикле выполняется перестановка элементов в матрице. Цикл идет по элементам матрицы, а затем по строкам и столбцам, сравнивая элементы и меняя их местами, если они находятся в неправильном порядке.
  4. После завершения цикла выводится на экран обновленная матрица.

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


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

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

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