martes, 19 de febrero de 2013

Elabore un programa modular que lea una matriz de m X n y la escriba poniendo las columnas como renglones y los renglones como columnas

Elabore un programa modular que lea una matriz de m X n y la escriba poniendo
las columnas como renglones y los renglones como columnas.

Por ejemplo, si la matriz que da el usuario es:

4 7 1 3 5
2 0 6 9 7
3 1 2 6 4

Entonces el programa debe escribir la matriz transpuesta:
4 2 3
7 0 1
1 6 2
3 9 6
5 7 4


#include<iostream>
using namespace std;

void leerMatriz(int [][100], int &, int &);
void mostrarMatriz(int [][100], int &, int &);
void matriz_transpuesta(int [][100], int [][100], int &, int &);
void mostrar_matrizTranspuesta(int [][100], int &, int &);

int main()
{
    int matriz[100][100], matrizTranspuesta[100][100], filas, columnas;

    cout<<"indique la cantidad de filas de la matriz: ";
    cin>>filas;
    cout<<"indique la cantidad de columnas de la matriz: ";
    cin>>columnas;

    leerMatriz(matriz, filas, columnas);
    mostrarMatriz(matriz, filas, columnas);
    matriz_transpuesta(matriz, matrizTranspuesta, filas, columnas);
    mostrar_matrizTranspuesta(matrizTranspuesta, filas, columnas);

    cin.get(); cin.get();
    return 0;
}

void leerMatriz(int matriz[100][100], int &filas, int &columnas)
{
    for(int i=0; i<filas; i  )
    {
        for (int j=0; j<columnas; j  )
        {
            cout<<"ingrese un numero: ";
            cin>>matriz[i][j];
        }
    }
}

void mostrarMatriz(int matriz[100][100], int &filas, int &columnas)
{
    cout<<"\n\n la matriz que introdujo es: "<<endl;
    for(int i=0; i<filas; i  )
    {
        for (int j=0; j<columnas; j  )
        {
            cout<<matriz[i][j]<<" ";
        }
        cout<<endl;
    }
}

void matriz_transpuesta(int matriz[100][100], int matrizTranspuesta[100][100], int &filas, int &columnas)
{
    cout<<"\n\n la matriz transpuesta es: "<<endl;
    for(int i=0; i<filas; i  )
    {
        for(int j=0; j<columnas; j  )
        {
            matrizTranspuesta[j][i]=matriz[i][j];
        }
    }
}

void mostrar_matrizTranspuesta(int matrizTranspuesta[100][100], int &filas, int &columnas)
{
    for(int i=0; i<columnas; i  )
    {
        for (int j=0; j<filas; j  )
        {
            cout<<matrizTranspuesta[i][j]<<" ";
        }
        cout<<endl;
    }
}

0 comentarios:

Publicar un comentario