Thursday, September 4, 2014

Primer Parcialito | 2º Cuatrimestre 2014 | Informática II

1)Armar una función que cargue una matriz de unsigned int de NxM.
2)Armar una función que muestre una matriz de unsigned int de NxM.
3)Armar una función que ponga en 1 los bits '3' y '5' de una variable unsigned int.
4)Armar un programa que cargue una matriz NxM, la muestre, y luego ponga en 1 los bits '3' y '5' de cada una de las posiciones de la matriz para mostrarla de nuevo luego de hecha la transformación.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define N 3
#define M 4

void cargar_matriz ( unsigned int mat [N][M]);
void mostrar_matriz ( unsigned int mat [N][M]);
unsigned int transformar ( unsigned int num);

int main()
{
    unsigned int mat[N][M];
    srand(time(NULL));
    cargar_matriz (mat);
    mostrar_matriz(mat);
    transformar_matriz (mat);
    printf("Matriz transformada:\n");
    mostrar_matriz (mat);

    return 0;
}

void cargar_matriz (unsigned int mat [N][M])
{
        int i,j;
        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                mat[i][j]=rand()%6;
            }
        }
}
void mostrar_matriz (unsigned int mat [N][M])
{
    int i,j;
    for(i=0;i<N;i++)
    {
        for(j=0;j<M;j++)
        {
            printf("|%d|", mat[i][j]);
        }
        printf("\n");
    }
}
unsigned int transformar ( unsigned int num)
{
    unsigned int mask=pow(2,5)+pow(2,3);

    return num|mask;

}
void transformar_matriz (unsigned int mat [N][M])
{
    int i,j;
        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                mat[i][j]=transformar(mat[i][j]);
            }
        }
}

No comments:

Post a Comment