Saber si un número es primo en C

En este post te voy a mostrar cómo determinar si un número es primo en C.

Para saber si un número es primo, hay que probar si se puede dividir únicamente entre 1 y entre sí mismo.

Lo que tenemos que hacer para determinar si un número es primo (en C) es probar si el número se puede dividir por otros números que no sean el 1 y el propio número.

¿Y a qué nos referimos con “se puede dividir”? se dice que un número se puede dividir cuando el residuo es cero, bueno, hablando de divisiones enteras. Por ejemplo, el 7 no es divisible entre 2, porque al dividirlo el resultado es 3 y sobra 1.

En cambio, el 10 sí es divisible entre 2, porque al dividirlo el resultado es 5 y sobra 0.

(más…)

C – Saber si un número es positivo, negativo o neutro

Ya vimos sobre el número neutro, positivo y negativo con Python; ahora lo haremos con C. Este código también es compatible con C++.

Aunque es un ejercicio muy simple, a los principiantes les ayuda a ver cómo funcionan las cosas más básicas del lenguaje.

Lo que vamos a usar serán las estructuras de control con if y else, así como scanf para leer el valor.

(más…)

Adivinar número con ANSI C

Adivina el número en C – Programación de juego

Para demostrar el uso de la generación de números aleatorios con C decidí hacer un juego (no, no tiene interfaz gráfica) de adivina el número, seguramente conocido por muchos.

Lo que hace este juego es “pensar” en un número y pedirle al usuario que lo adivine. También brinda pistas indicando si el número secreto es mayor o menor que la respuesta del usuario.

Adivinar número con ANSI C

Adivinar número con ANSI C

Me di a la tarea de agregarle un contador de intentos y un límite. En caso de llegar al límite se le indica al usuario que ha perdido y le dice cuál adivino.

Si el jugador adivina el número, entonces también se le indica. Veamos su codificación.

(más…)

Números aleatorios en rango con ANSI C

Obtener números aleatorios en C

Introducción

En este post voy a mostrar cómo podemos generar números aleatorios o al azar con C. Eso sí, no serán para criptografía, simplemente serán pseudoaleatorios.

En resumen, sí van a darte números aleatorios pero no los vayas a usar para cosas que tengan que ver con la seguridad.

Veremos cómo obtener un número aleatorio, poner una semilla a rand y también obtener un número al azar dentro de un rango.

(más…)

Fondo de pantalla de palabras reservadas del lenguaje Go / Golang

Fondos de pantalla e imágenes de lenguajes de programación

Hace algún tiempo hice algunas imágenes sobre lenguajes de programación para usarlas como fondo de pantalla; son simples, tienen el nombre del lenguaje de programación pero formado con palabras reservadas del mismo, aquí un ejemplo de Rust:

Rust creado con WordArt

Rust creado con WordArt

Voy a exponer aquí los fondos de pantalla de lenguajes de programación para descargarlos.

(más…)

Comprobar si una cadena es anagrama de otra en C

Comprobar si una palabra es anagrama de otra en C

En este post pondré la función para ver si una cadena es anagrama de otra usando C.

Las cosas con C son más complicadas, pero a su vez más interesantes. Todo esto es porque C es un lenguaje de programación que es fuertemente tipado y que no tiene un recolector de basura ni esas cosas que otros tienen.

Comprobar si una cadena es anagrama de otra en C

Comprobar si una cadena es anagrama de otra en C

Personalmente me gusta resolver ejercicios con C, pues siempre suponen un reto. Por eso es que hoy veremos cómo saber si dos cadenas o palabras son anagramas utilizando el lenguaje de programación C.

(más…)

Remover caracteres de una cadena en C

Remover caracteres de una cadena en C

C nunca deja de sorprenderme, pues cada cosa que se ve sencilla en otros lenguajes de programación se hace complicada aquí. Hoy toca el turno de un algoritmo para quitar caracteres de una cadena en C.

Esto también puede ser interpretado como quitar letras de una palabra usando C. Por ejemplo, si a la frase “Me gusta programar en C” le quitamos los caracteres o letras a y e se convierte en “M gust progrmr n C“.

Remover caracteres de una cadena en C

Remover caracteres de una cadena en C

La función que he escrito remueve los caracteres de una cadena, sin importar si son signos de puntuación u otras cosas. Es decir, esto también funciona para:

  • Remover espacios de una cadena
  • Quitar comas y signos de puntuación de una cadena
  • Remover saltos de línea

Vamos a ver cómo es su programación y su uso.

(más…)

Leer contenido de archivo de texto en C

Leer archivo de texto con C y fread

Ya vimos cómo leer un archivo de texto con Golang. Ahora se verá cómo leer el contenido de un archivo de texto con C, utilizando la función fread acompañada de fopen y otras funciones para manejar archivos en C.

Leer contenido de archivo de texto en C

Leer contenido de archivo de texto en C

Lo que se hará es simple: leer el contenido de un .txt e imprimir su contenido en la pantalla; leyendo poco a poco el archivo utilizando un búfer de determinado tamaño especificado en bytes.

(más…)

Cifrado César en C

Algoritmo de cifrado César en C

Anteriormente vimos cómo implementar el algoritmo de cifrado de César en Python, ahora veremos cómo cifrar y descifrar una oración usando el cifrado César igualmente, pero en el lenguaje de programación C.

Implementar el algoritmo en C es un poco más complicado que en otros lenguajes, sobre todo por la manipulación de cadenas, pero eso no es un impedimento.

Cifrado César en C

Cifrado César en C

Veamos entonces cómo codificar el algoritmo de cifrado César en C.

(más…)

Valor absoluto en C, o convertir número a positivo

Convertir número negativo a positivo en C

En este post veremos cómo convertir un número negativo (ya sea entero o flotante) a positivo en C. Incluso si el número ya es positivo, no pasará nada ni habrá errores al convertirlo utilizando la función abs, fabs y fabsf.

Valor absoluto en C, o convertir número a positivo

Valor absoluto en C, o convertir número a positivo

Para esto, usaremos una función matemática (o lo que sea) llamada valor absoluto, que devuelve la distancia entre dos puntos de una recta; sin importar si uno de ellos es negativo, porque la distancia siempre es positiva.

(más…)