Ir al contenido principal

Ejemplo de como recorrer matrices en C

 Hay un lenguaje muy famoso que es C y que tenía mucho intereses de escribir en mi blog, porque es el lenguaje de programación que más ha influenciado a otros lenguajes o incluso sistema operativo como Unix y Linux. 

Este lenguaje lo aprendí en la Universidad en el primer Cuatrimestre (Facultad de Ciencias de la Computación BUAP super recomendada) y es un lenguaje bonito, que sirve también para aprender a programar, principalmente la lógica de la programación, no requiere licencia para utilizarlo es decir es gratuito.

Este lenguaje fue creado por Deniss Ritchie en 1969 y 1978 en los laboratorios Bell.

Deniss Ritchie y Brian Kernighan escribieron el libro El lenguaje de programación C o en ingles The C Programming Language, el libro fue publicado en 1978 y aquí nace nuestro programa más famoso Hello,World u Hola Mundo, que fue un ejemplo que se menciona en el libro es la Biblia de C y creo que casi o todos los que hemos tenido estudios de programación hemos leído este libro.




En el libro también hacen mencionar a escribir los programas de modo indentados es decir se respeta una sangría entre bloques de código o secciones para que sea fácil de leer. Cosa que se ha mantenido como una buena práctica de programación.

Ejercicio de Programación

Después de platicarles un poco de este lenguaje, les comparto un ejemplo de como programar en C, en este ejemplo tenemos una matriz de horas trabajadas por 4 becarios en una semana de 5 días, donde se quiere conocer la suma total de horas trabajadas por día, total de horas trabajadas por becario, promedio de horas trabajadas por día, promedio de horas trabajadas por cada becario y el Total global de horas trabajadas. Datos que se muestran en la siguiente imagen

ejemplos programas lenguaje C

Análisis del Problema

Como vimos en la explicación del problema vamos a desmenuzarlo:

  • Los datos de entrada  son una matriz de datos enteros, la matriz es de 5 columnas que son los días y 4 filas que son los becarios. Si quieren ver un poco más de que es una matriz o arreglo les dejo la liga del blog  Estructuras-en-programacion.html
  • Se tiene que hacer una suma por cada becario es decir podríamos  llevar el dato en un variable que tendríamos que inicializar en cero al visitar los datos de cada becario.
  • Se tiene que hacer una suma por cada día es decir por cada fila y de igual forma limpiar la variable para mostrar solo esa suma.
  • Se tiene que hacer una suma general de todas las columnas, es decir una variable que no vamos a limpiar o a dejar en cero. O se pude sumar todas las filas.
  • Para obtener el promedio es base a la suma y en que momento estemos recorriendo si filas o columnas dividir entre 5 por lo días o entre 4 por los becarios.
  • Como consejo a mi me gusta validar los datos que me dan en los problemas, para hacer el ejercicio manualmente para saber como lo calcularía y para validar que los datos que me dan son correctos.
  • Ahora con esto ya se puede hacer un programa.

Datos de C

Para empezar a programar, les voy a explicar algunas de las instrucciones que vamos a utilizar :
  • Librerías #include <stdio.h> son programas que contienen funciones ya definidas y que podemos utilizar en el programa sin tener que crear estas funciones de cero.
  • Tipos de datos, en C hay diferentes tipos de datos que utilizaremos para definir nuestras variables tenemos los siguientes tipos
    • int, para definir datos enteros 16 bits
    • float, para definir datos decimales o flotantes 16 bits
    • char, para caracteres
    • double, para números decimales pero hasta 32 bits
    • long, para decimales hasta 32 bit
  • para hacer comentarios utilizamos "//" dos diagonales y lo que este escrito a la derecha son instrucciones que no se ejecutaran o comentarios que queremos dejar en nuestro programa para cuando alguien lo lea
  • printf, esta instrucción nos servirá para escribir en pantalla  
  • scanf, con esta palabra reservada podemos leer datos del teclado que se ingresan e irlo almacenando en variables.
  • {} estas llaves en C sirve para definir el inicio de un bloque del programa { y para cerrarlo } , un bloque puede ser un ciclo for, un if, una función

Compilar online lenguaje C

Primer paso para poder compilar y probar el programa, puedes hacerlo instalando Dev-C que es un ID gratuito para desarrollo, pero como se que también hay quienes no tienen su propia computadora o que no pueden instalar porque ya no tienen espacio en su equipo, pueden utilizar alguna opción online, yo les puedo recomendar onlinegdb https://www.onlinegdb.com/online_c_compiler#, el ejemplo que les explicare en este post, lo hice en esta plataforma

como compilar en linea lenguaje C


Programa Ejemplo programa en C

#include <stdio.h>


int main (){

    int matriz [4][5];

    int i,j, horas_total = 0, suma=0;

    float prom_total = 0.0, promedio = 0.0, promedio_total = 0.0;

    for (i=0; i<4; i++){

        for (j=0; j<5; j++) {

            printf ("Horas trabajadas por el becario %d en el dia %d: ", i+1, j+1);

        scanf ("%d", &matriz[i][j]);

        }

    }

    for (i=0; i<4; i++) { //filas

        suma = 0;

        promedio = 0.0;

        for (j=0; j<5; j++) { //columnas

            suma= suma + matriz[i][j];

            horas_total = horas_total + matriz[i][j];

        }

        promedio = suma / 5.0;

        promedio_total = promedio_total + promedio;

        printf ("Total Horas trabajadas %d por el becario %d: \n", suma, i+1);

        printf ("Promedio Horas Trabajadas %f por el becario %d: \n", promedio, i+1);

    }

    promedio_total = promedio_total / 4.0;

    printf ("Total Horas trabajadas %d por los becarios: \n", horas_total);

    printf ("Promedio Horas trabajadas %f por los becarios: \n", promedio_total);

    promedio_total = 0.0;

    for (i=0; i<5; i++) { //columnas

        suma = 0;

        promedio = 0.0;

        for (j=0; j<4; j++) { //filas

            suma = suma + matriz[j][i];

            //printf("valor %d ", matriz[j][i]);

        }

        promedio = suma / 4.0;

        promedio_total = promedio_total + promedio;

        printf ("Total Horas trabajadas %d por dia %d: \n", suma, i+1);

        printf ("Promedio Horas Trabajadas %f por dia %d: \n", promedio, i+1);

    }    

    promedio_total = promedio_total / 5.0;

    printf ("Promedio Total Horas Trabajadas %f: \n", promedio_total);

return (0);

}

Les comparto el vídeo para que vean como funciona el programa

Espero les haya servido este blog para aprender acerca del lenguaje C y puedan hacer un primer programa por ustedes mismos, compártanos y déjenos sus comentarios. Nos leemos.

Comentarios

Entradas más populares de este blog

Graficar funciones en Python con dataframes

Bienvenidos a un nuevo post, en esta semana, en esta ocasión les quiero platicar acerca de una librería en Python que se llama  matplotlib  que nos sirve para gráfica funciones de  matemáticas. Habitualmente en Python existen muchas librerías, lo que hay que hacer es primero investigar si ya existe alguna que nos ayude y entenderla antes de inventar el hilo negro, en mi caso encontré la librería  Matplotlib Para instalar deben utilizar el comando PIP en 2.7 Instalando en Python 3.7 Si tienen Python 2.7 deben realizar la ejecución de estos 2 comandos desde consola python -m pip install -U pip python -m pip install -U matplotlib Aunque lo más recomendable es utilizar la versión 3.7 o superior de Python. Programa para graficar en Python import matplotlib.pyplot as plt import numpy as np import math as mt def move_spines():     """Esta funcion divide pone al eje y en el valor      0 de x para dividir claramente los valores positivos y     negativos.&quo

Ejemplo Macro en Word

Hola: ¿Sabían que no solo en Excel pueden hacer Macros?  ¡¡¡También en Outlook, Word, Power Point,Access  es posible hacer Macros!!!  ☺️ Ya que Word, Excel, Power Point,Access son de familia Microsoft y Visual Basic también es que podemos programar nuestras macros en esta paquetería. Como hemos visto antes, para poder programar nuestras macros, necesitamos primero configurar la Barra de tareas de Developer o Desarrollador Seleccionan el Menu File>Options>Customize Ribbon o en Español Archivo>Opciones>barra de tareas Despues la parte de seguridad de las macros Menu File>Options>Trus Center o Archivo>Opciones>Centro de Seguridad y marcamos como se ve en la imagen, la cuarta opción y el combo Ejemplo Vamos hacer un ejemplo donde, tengamos que generar varios diplomas de fin de curso, pero con una lista de Nombres , entonces vamos a crear un nuevo archivo en Word y le vamos a guardar como tipo Macro  Tenemos una plantill

Ejemplo Python para leer imagen y transformarla en una matriz

Como hemos visto en otros post, Python nos permite hacer programas de manera más rápida, en esta ocasión quiero compartirles un ejemplo para leer un archivo de imagen y como convertirlo en una matriz o un arreglo. Aplicaciones Poder hacer ingeniería de datos, es decir poder convertir una misma imagen en diferentes todos y utilizarlos para machine learning para reconocimiento de gatos, para ello hay que mostrar muchas imágenes a nuestro modelo es decir entrenarlo, para ello hay que colocarle imágenes claras y imagenes que no sean tan claras por ejemplo, se pone la imagen original y se agrega "ruido" para que se vea en rojos, grises, verdes. Se pudo utilizar para un mapa , para poder ver datos a detalle Se puede aplicar para manipular imágenes, por ejemplo agregar efectos  Seguramente a ustedes se les pueden ocurrir más aplicaciones Les comparto el ejemplo de como hacerlo en Jupiter y para hacer el ejemplo voy a utilizar el logo del blog es una imagen de 500x500 pixeles Los Pas