martes, 2 de junio de 2026

Pedir la edad y determinar si puede o no sacar licencia de conducir en C++

C贸digo del ejercicio:

#include <iostream>

using namespace std;

int main()
{
    int edad;
    cout<<"Ingresar edad: "; cin>>edad;
    if(edad >= 18){
        cout<<"Licencia otorgada.";
    }else{
        cout<<"Licencia negada.";
    }
    return 0;
}

Definici贸n de los c贸digos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida est谩ndar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
using namespace std; --> un espacio de nombres es una colecci贸n de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca est谩ndar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la funci贸n main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecuci贸n del programa. Cuando se ejecuta un programa C++, el control de ejecuci贸n va directamente a la funci贸n main(). Cada programa C++ tiene una funci贸n main().
return 0; --> devolver 0 en la funci贸n principal significa que el programa se ejecut贸 correctamente.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida est谩ndar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada est谩ndar, es decir, el teclado.
if --> use if para especificar un bloque de c贸digo que se ejecutar谩, si una condici贸n especificada es verdadera.
else --> use else para especificar un bloque de c贸digo a ejecutar, si la misma condici贸n es falsa.
>= --> el operador mayor que o igual ( >= ) devuelve true si el operando izquierdo es mayor o igual que el operando derecho, y en false caso contrario.

Explicaci贸n del C贸digo:

#include <iostream> Incluye la biblioteca que permite utilizar funciones de entrada y salida de datos, como cin y cout.
using namespace std; Permite utilizar los elementos de la biblioteca est谩ndar sin escribir std:: antes de cada instrucci贸n.
int main() Es la funci贸n principal del programa. Todo el c贸digo se ejecuta dentro de esta funci贸n.
int edad; Declara una variable entera llamada edad, donde se almacenar谩 la edad ingresada por el usuario.
cout << "Ingresar edad: "; Muestra un mensaje en pantalla solicitando al usuario que ingrese su edad.
cin >> edad; Captura la edad ingresada por el usuario y la guarda en la variable edad.
if(edad >= 18) Eval煤a si la edad es mayor o igual a 18 a帽os. Si la condici贸n es verdadera, significa que la persona cumple el requisito de edad para obtener una licencia de conducir.
cout << "Licencia otorgada."; Se ejecuta cuando la condici贸n del if es verdadera y muestra el mensaje indicando que la licencia puede ser otorgada.
else Se ejecuta cuando la condici贸n del if es falsa.
cout << "Licencia negada."; Muestra un mensaje indicando que la persona no cumple con la edad m铆nima requerida para obtener una licencia de conducir.
return 0; Finaliza el programa indicando que la ejecuci贸n termin贸 correctamente.
Resumen del programa:
El programa solicita la edad de una persona y verifica si tiene al menos 18 a帽os. Si cumple este requisito, muestra el mensaje "Licencia otorgada". En caso contrario, muestra "Licencia negada".

Eliminar un car谩cter x de una cadena introducido por teclado en C++

C贸digo del ejercicio:

#include <iostream>
#include <clocale>
#include <string>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    int i = 0, sw = 0;
    string aux = "", s;
    char e;
    cout<<"Ingresar texto: "; getline(cin, s);
    cout<<"Ingresar car谩cter: "; cin>>e;
    while(i < s.length()){
        if(s[i] == e && sw == 0){
            sw = 1;
        }else{
            aux += s[i];
            sw = 0;
        }
        i++;
    }
    cout<<aux;
    return 0;
}

Definici贸n de los c贸digos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida est谩ndar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuraci贸n regional.
#include <string> --> archivo de encabezado de cadena.
using namespace std; --> un espacio de nombres es una colecci贸n de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca est谩ndar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la funci贸n main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecuci贸n del programa. Cuando se ejecuta un programa C++, el control de ejecuci贸n va directamente a la funci贸n main(). Cada programa C++ tiene una funci贸n main().
return 0; --> devolver 0 en la funci贸n principal significa que el programa se ejecut贸 correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los par谩metros locales de la computadora donde se ejecuta el programa, uno de estos par谩metros es el idioma.
LC_CTYPE --> selecciona la categor铆a de clasificaci贸n de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo par谩metro colocaremos la palabra "Spanish" para que as铆 se utilicen los par谩metros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida est谩ndar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada est谩ndar, es decir, el teclado.
char --> permiten almacenar dos o m谩s caracteres a la vez en una sola variable, son muy 煤tiles para guardar palabras o frases completas.
string --> dato de tipo cadena de texto.
getline() --> es una funci贸n integrada definida en el archivo de encabezado <string> que permite aceptar y leer cadenas de una y varias l铆neas del flujo de entrada.
while --> el ciclo while recorre un bloque de c贸digo siempre que una condici贸n espec铆fica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
length() --> devuelve la longitud de una cadena.
if --> use if para especificar un bloque de c贸digo que se ejecutar谩, si una condici贸n especificada es verdadera.
else --> use else para especificar un bloque de c贸digo a ejecutar, si la misma condici贸n es falsa.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
&& --> el operador l贸gico AND ( && ) (conjunci贸n l贸gica) para un conjunto de operandos booleanos ser谩 true si y solo si todos los operandos son true. De lo contrario ser谩 false.
+= --> el operador de asignaci贸n de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicaci贸n del C贸digo:

Este programa solicita al usuario un texto y un car谩cter. Luego recorre la cadena y elimina la primera aparici贸n del car谩cter indicado, mostrando finalmente la nueva cadena resultante.

Explicaci贸n paso a paso

Fragmento de c贸digo Explicaci贸n
#include <iostream> Permite utilizar las funciones de entrada y salida como cin y cout.
#include <clocale> Permite configurar el idioma para manejar caracteres especiales.
#include <string> Permite trabajar con cadenas de texto utilizando el tipo string.
using namespace std; Evita escribir std:: antes de cada elemento de la biblioteca est谩ndar.
setlocale(LC_CTYPE, "Spanish"); Configura el programa para trabajar con caracteres propios del idioma espa帽ol.
int i = 0, sw = 0; i sirve para recorrer la cadena car谩cter por car谩cter. sw es una bandera que indica si ya se elimin贸 el car谩cter buscado.
string aux = "", s; s almacena el texto ingresado. aux almacenar谩 la nueva cadena sin el car谩cter eliminado.
char e; Guarda el car谩cter que el usuario desea eliminar.
getline(cin, s); Lee una l铆nea completa de texto, incluyendo espacios.
cin >> e; Lee el car谩cter que se desea eliminar de la cadena.
while(i < s.length()) Recorre toda la cadena desde el primer hasta el 煤ltimo car谩cter.
if(s[i] == e && sw == 0) Comprueba si el car谩cter actual es igual al car谩cter que se desea eliminar y adem谩s verifica que todav铆a no se haya eliminado ninguno.
sw = 1; Marca que ya se encontr贸 y elimin贸 la primera aparici贸n del car谩cter.
aux += s[i]; Agrega el car谩cter actual a la nueva cadena cuando no debe eliminarse.
sw = 0; Permite que el programa contin煤e copiando normalmente los dem谩s caracteres.
i++; Avanza a la siguiente posici贸n de la cadena.
cout << aux; Muestra la cadena resultante despu茅s de eliminar el car谩cter.
return 0; Finaliza correctamente la ejecuci贸n del programa.

Ejemplo de ejecuci贸n

Ingresar texto: Programacion
Ingresar car谩cter: a

Salida:
Progrmacion

Conclusi贸n

El programa recorre la cadena car谩cter por car谩cter. Cuando encuentra la primera aparici贸n del car谩cter indicado por el usuario, no lo copia a la nueva cadena. Todos los dem谩s caracteres se agregan normalmente a la cadena auxiliar. Finalmente se muestra el texto resultante.

Contar las veces que se repite una consonante x en una frase en C++

C贸digo del ejercicio:

#include <iostream>
#include <clocale>
#include <string>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    int i = 0, cc = 0;
    string s;
    char x;
    cout<<"Ingresar frase: "; getline(cin, s);
    cout<<"Ingresar consonante: "; cin>>x;
    while(i < s.length()){
        if(s[i] == x){
            cc++;
        }
        i++;
    }
    cout<<"Las veces que se repite la consonante "<<x<<" es: "<<cc<<" veces.";
    return 0;
}

Definici贸n de los c贸digos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida est谩ndar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuraci贸n regional.
#include <string> --> archivo de encabezado de cadena.
using namespace std; --> un espacio de nombres es una colecci贸n de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca est谩ndar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la funci贸n main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecuci贸n del programa. Cuando se ejecuta un programa C++, el control de ejecuci贸n va directamente a la funci贸n main(). Cada programa C++ tiene una funci贸n main().
return 0; --> devolver 0 en la funci贸n principal significa que el programa se ejecut贸 correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los par谩metros locales de la computadora donde se ejecuta el programa, uno de estos par谩metros es el idioma.
LC_CTYPE --> selecciona la categor铆a de clasificaci贸n de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo par谩metro colocaremos la palabra "Spanish" para que as铆 se utilicen los par谩metros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida est谩ndar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada est谩ndar, es decir, el teclado.
char --> permiten almacenar dos o m谩s caracteres a la vez en una sola variable, son muy 煤tiles para guardar palabras o frases completas.
string --> dato de tipo cadena de texto.
getline() --> es una funci贸n integrada definida en el archivo de encabezado <string> que permite aceptar y leer cadenas de una y varias l铆neas del flujo de entrada.
while --> el ciclo while recorre un bloque de c贸digo siempre que una condici贸n espec铆fica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
if --> use if para especificar un bloque de c贸digo que se ejecutar谩, si una condici贸n especificada es verdadera.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicaci贸n del C贸digo:

¿Qu茅 hace el programa?

Este programa solicita al usuario una frase y una consonante. Luego recorre toda la frase car谩cter por car谩cter para contar cu谩ntas veces aparece la consonante indicada. Finalmente muestra la cantidad de repeticiones encontradas.

Explicaci贸n de cada l铆nea importante

C贸digo Funci贸n
#include <iostream> Permite utilizar cin y cout para la entrada y salida de datos.
#include <clocale> Permite configurar el idioma espa帽ol.
#include <string> Permite trabajar con cadenas de texto.
using namespace std; Evita escribir std:: antes de cada instrucci贸n.
int i = 0; Variable que indica la posici贸n actual dentro de la frase.
int cc = 0; Contador de coincidencias encontradas.
string s; Almacena la frase ingresada por el usuario.
char x; Guarda la consonante que se desea buscar.
getline(cin, s); Lee una frase completa incluyendo espacios.
cin >> x; Lee la consonante a buscar.
while(i < s.length()) Recorre todos los caracteres de la frase.
if(s[i] == x) Verifica si el car谩cter actual coincide con la consonante buscada.
cc++; Incrementa el contador cuando encuentra una coincidencia.
i++; Avanza a la siguiente posici贸n de la frase.
cout << cc; Muestra la cantidad total de veces que aparece la consonante.

Funcionamiento del ciclo while

while(i < s.length()){ if(s[i] == x){ cc++; } i++; }

Este ciclo recorre la frase desde el primer car谩cter hasta el 煤ltimo. En cada recorrido compara el car谩cter actual con la consonante buscada. Si son iguales, aumenta el contador cc. Despu茅s avanza a la siguiente posici贸n mediante i++.

Ejemplo de ejecuci贸n

Frase: programaci贸n en c++

Consonante: n

El programa recorre toda la frase y encuentra la letra n dos veces.

Resultado:
Las veces que se repite la consonante n es: 2 veces.

Resumen

El programa utiliza una cadena de texto para almacenar una frase, una variable tipo car谩cter para la consonante a buscar y un ciclo while para recorrer toda la frase. Cada vez que encuentra la consonante indicada, incrementa un contador y al final muestra cu谩ntas veces aparece en la frase.

Contar los d铆gitos m煤ltiplos de tres en C++

C贸digo del ejercicio:

#include <iostream>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    int num, cm = 0;
    cout<<"Ingrese un n煤mero: "; cin>>num;
    while(num > 0){
        if((num % 10) % 3 == 0){
            cm++;
        }
        num /= 10;
    }
    cout<<"Los d铆gitos m煤ltiplos de tres son: "<<cm;
    return 0;
}

Definici贸n de los c贸digos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida est谩ndar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuraci贸n regional.
using namespace std; --> un espacio de nombres es una colecci贸n de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca est谩ndar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la funci贸n main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecuci贸n del programa. Cuando se ejecuta un programa C++, el control de ejecuci贸n va directamente a la funci贸n main(). Cada programa C++ tiene una funci贸n main().
return 0; --> devolver 0 en la funci贸n principal significa que el programa se ejecut贸 correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los par谩metros locales de la computadora donde se ejecuta el programa, uno de estos par谩metros es el idioma.
LC_CTYPE --> selecciona la categor铆a de clasificaci贸n de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo par谩metro colocaremos la palabra "Spanish" para que as铆 se utilicen los par谩metros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida est谩ndar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada est谩ndar, es decir, el teclado.
while --> el ciclo while recorre un bloque de c贸digo siempre que una condici贸n espec铆fica sea verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
if --> use if para especificar un bloque de c贸digo que se ejecutar谩, si una condici贸n especificada es verdadera.
% --> el operador de modulo ( % ) devuelve el resto de la divisi贸n.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
/= --> el operador de asignaci贸n de divisi贸n ( /= ) divide el valor del operando derecho de una variable y asigna el resultado a la variable.

Explicaci贸n del C贸digo:

Este programa solicita un n煤mero entero positivo y cuenta cu谩ntos de sus d铆gitos son m煤ltiplos de 3. Al finalizar, muestra la cantidad encontrada.

1. Inclusi贸n de librer铆as

#include <iostream>
#include <clocale>

Estas librer铆as permiten utilizar funciones de entrada y salida de datos (cin y cout) y configurar el idioma del programa.

2. Espacio de nombres

using namespace std;

Permite utilizar los elementos de la biblioteca est谩ndar sin escribir std:: delante de cada uno.

3. Funci贸n principal

int main() { ... }

La funci贸n main() es el punto de inicio de ejecuci贸n del programa.

4. Configuraci贸n regional

setlocale(LC_CTYPE, "Spanish");

Configura el programa para trabajar correctamente con caracteres propios del idioma espa帽ol.

5. Declaraci贸n de variables

int num, cm = 0;
  • num: almacena el n煤mero ingresado por el usuario.
  • cm: contador de d铆gitos m煤ltiplos de 3 encontrados.

6. Entrada de datos

cout << "Ingrese un n煤mero: ";
cin >> num;

Se solicita al usuario ingresar un n煤mero y se guarda en la variable num.

7. Recorrido de los d铆gitos

while(num > 0)

El ciclo se ejecuta mientras el n煤mero sea mayor que cero. En cada repetici贸n se analiza el 煤ltimo d铆gito del n煤mero.

8. Verificaci贸n de m煤ltiplos de 3

if((num % 10) % 3 == 0) { cm++; }

La expresi贸n num % 10 obtiene el 煤ltimo d铆gito del n煤mero. Luego se verifica si dicho d铆gito es m煤ltiplo de 3.

Si el residuo de dividir el d铆gito entre 3 es igual a 0, significa que el d铆gito es m煤ltiplo de 3 y el contador cm aumenta en uno.

Los d铆gitos m煤ltiplos de 3 son: 0, 3, 6 y 9.

9. Eliminaci贸n del 煤ltimo d铆gito

num /= 10;

Divide el n煤mero entre 10 y elimina el 煤ltimo d铆gito ya analizado para continuar con el siguiente.

10. Mostrar resultado

cout << "Los d铆gitos m煤ltiplos de tres son: " << cm;

Muestra la cantidad total de d铆gitos m煤ltiplos de 3 encontrados en el n煤mero ingresado.

11. Finalizaci贸n del programa

return 0;

Indica que el programa termin贸 correctamente.

Ejemplo de ejecuci贸n

Ingrese un n煤mero: 96342

脷ltimo d铆gito: 2 → No es m煤ltiplo de 3
脷ltimo d铆gito: 4 → No es m煤ltiplo de 3
脷ltimo d铆gito: 3 → S铆 es m煤ltiplo de 3
脷ltimo d铆gito: 6 → S铆 es m煤ltiplo de 3
脷ltimo d铆gito: 9 → S铆 es m煤ltiplo de 3

Los d铆gitos m煤ltiplos de tres son: 3

Resumen

El programa recorre cada d铆gito de un n煤mero utilizando operaciones matem谩ticas. Obtiene el 煤ltimo d铆gito con % 10, verifica si es m煤ltiplo de 3, incrementa un contador cuando lo es y finalmente muestra la cantidad encontrada.

Calcular el 谩rea de un tri谩ngulo conociendo sus tres lados en C++

C贸digo del ejercicio:

#include <iostream>
#include <clocale>
#include <cmath>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    double l1, l2, l3, s, a;
    cout<<"Ingrese el lado 1: "; cin>>l1;
    cout<<"Ingrese el lado 2: "; cin>>l2;
    cout<<"Ingrese el lado 3: "; cin>>l3;
    s = (l1 + l2 + l3) * 1 / 2;
    a = sqrt(s * (s - l1) * (s - l2) * (s - l3));
    cout<<"El 谩rea del tri谩ngulo es: "<<a<<" cm²";
    return 0;
}

Definici贸n de los c贸digos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida est谩ndar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuraci贸n regional.
#include <cmath> --> declara un conjunto de funciones para realizar operaciones matem谩ticas.
using namespace std; --> un espacio de nombres es una colecci贸n de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca est谩ndar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la funci贸n main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecuci贸n del programa. Cuando se ejecuta un programa C++, el control de ejecuci贸n va directamente a la funci贸n main(). Cada programa C++ tiene una funci贸n main().
return 0; --> devolver 0 en la funci贸n principal significa que el programa se ejecut贸 correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los par谩metros locales de la computadora donde se ejecuta el programa, uno de estos par谩metros es el idioma.
LC_CTYPE --> selecciona la categor铆a de clasificaci贸n de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo par谩metro colocaremos la palabra "Spanish" para que as铆 se utilicen los par谩metros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida est谩ndar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada est谩ndar, es decir, el teclado.
double --> convierte un n煤mero entero en un n煤mero de punto flotante de doble precisi贸n, tiene un tama帽o de 64 bits, es usado para n煤meros de menos de 15 cifras decimales.
sqrt() --> devuelve la ra铆z cuadrada de un n煤mero.

Explicaci贸n del C贸digo:

Este programa calcula el 谩rea de un tri谩ngulo a partir de las medidas de sus tres lados utilizando la F贸rmula de Her贸n.

1. Bibliotecas utilizadas

#include <iostream>

Permite mostrar mensajes en pantalla y leer datos ingresados por el usuario mediante cout y cin.

#include <clocale>

Se utiliza para configurar el idioma espa帽ol y mostrar correctamente caracteres especiales.

#include <cmath>

Contiene funciones matem谩ticas, como sqrt(), que permite calcular ra铆ces cuadradas.

2. Espacio de nombres

using namespace std;

Permite utilizar elementos de la biblioteca est谩ndar como cout y cin sin escribir std:: delante de ellos.

3. Inicio del programa

int main()

Es la funci贸n principal donde comienza la ejecuci贸n del programa.

4. Configuraci贸n del idioma

setlocale(LC_CTYPE, "Spanish");

Configura el programa para trabajar con caracteres propios del idioma espa帽ol.

5. Declaraci贸n de variables

double l1, l2, l3, s, a;

  • l1: almacena el primer lado del tri谩ngulo.
  • l2: almacena el segundo lado del tri谩ngulo.
  • l3: almacena el tercer lado del tri谩ngulo.
  • s: almacena el semiper铆metro.
  • a: almacena el 谩rea calculada.

6. Entrada de datos

El programa solicita al usuario ingresar las medidas de los tres lados del tri谩ngulo:

cout << "Ingrese el lado 1: ";
cin >> l1;

cout << "Ingrese el lado 2: ";
cin >> l2;

cout << "Ingrese el lado 3: ";
cin >> l3;

7. C谩lculo del semiper铆metro

s = (l1 + l2 + l3) * 1 / 2;

Se suman los tres lados y el resultado se divide entre dos para obtener el semiper铆metro.

s = (l1 + l2 + l3) / 2

8. C谩lculo del 谩rea

a = sqrt(s * (s - l1) * (s - l2) * (s - l3));

Se aplica la F贸rmula de Her贸n para calcular el 谩rea del tri谩ngulo utilizando 煤nicamente las longitudes de sus lados.

脕rea = √(s × (s - l1) × (s - l2) × (s - l3))

La funci贸n sqrt() obtiene la ra铆z cuadrada del resultado.

9. Mostrar el resultado

cout << "El 谩rea del tri谩ngulo es: " << a << " cm²";

Muestra en pantalla el 谩rea calculada del tri谩ngulo.

10. Finalizaci贸n del programa

return 0;

Indica que el programa termin贸 correctamente.

Resumen

El programa solicita las medidas de los tres lados de un tri谩ngulo, calcula el semiper铆metro y posteriormente aplica la F贸rmula de Her贸n para obtener el 谩rea. Finalmente, muestra el resultado en pantalla.

lunes, 1 de junio de 2026

Solicitar n n煤mero y mostrar por pantalla la cantidad de d铆gitos de cada n煤mero en C++

C贸digo del ejercicio:

#include <iostream>
#include <clocale>
#include <string>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    int n, c = 0, contador;
    string num;
    cout<<"Ingrese n cantidad de n煤meros a ingresar: "; cin>>n;
    while(c < n){
        cout<<"Ingrese un n煤mero: "; cin>>num;
        contador = num.length();
        cout<<"El n煤mero ingresado tiene "<<contador<<" d铆gitos\n";
        c++;
    }
    return 0;
}

Definici贸n de los c贸digos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida est谩ndar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuraci贸n regional.
#include <string> --> archivo de encabezado de cadena.
using namespace std; --> un espacio de nombres es una colecci贸n de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca est谩ndar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la funci贸n main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecuci贸n del programa. Cuando se ejecuta un programa C++, el control de ejecuci贸n va directamente a la funci贸n main(). Cada programa C++ tiene una funci贸n main().
return 0; --> devolver 0 en la funci贸n principal significa que el programa se ejecut贸 correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los par谩metros locales de la computadora donde se ejecuta el programa, uno de estos par谩metros es el idioma.
LC_CTYPE --> selecciona la categor铆a de clasificaci贸n de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo par谩metro colocaremos la palabra "Spanish" para que as铆 se utilicen los par谩metros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida est谩ndar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada est谩ndar, es decir, el teclado.
string --> dato de tipo cadena de texto.
while --> el ciclo while recorre un bloque de c贸digo siempre que una condici贸n espec铆fica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
length() --> devuelve la longitud de una cadena.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
\n --> es el car谩cter de salto de l铆nea y se usa para indicar el fin de una l铆nea de texto y el inicio de una l铆nea nueva.

Explicaci贸n del C贸digo:

Este programa permite ingresar una cantidad determinada de n煤meros y muestra cu谩ntos d铆gitos tiene cada n煤mero ingresado.

1. Inclusi贸n de librer铆as

#include <iostream>
#include <clocale>
#include <string>

Se incluyen las librer铆as necesarias para trabajar con entrada y salida de datos, configuraci贸n regional y cadenas de texto.

  • iostream: Permite utilizar cin y cout.
  • clocale: Permite configurar el idioma espa帽ol.
  • string: Permite utilizar variables de tipo cadena (string).

2. Uso del espacio de nombres

using namespace std;

Permite utilizar los elementos de la biblioteca est谩ndar sin escribir std:: antes de cada uno.

3. Inicio del programa

int main()

Es la funci贸n principal donde comienza la ejecuci贸n del programa.

4. Configuraci贸n del idioma

setlocale(LC_CTYPE, "Spanish");

Configura el programa para trabajar con caracteres propios del idioma espa帽ol.

5. Declaraci贸n de variables

int n, c = 0, contador;
string num;
  • n: Guarda la cantidad de n煤meros que se ingresar谩n.
  • c: Controla el n煤mero de repeticiones del ciclo.
  • contador: Guarda la cantidad de d铆gitos del n煤mero ingresado.
  • num: Almacena el n煤mero como una cadena de texto.

6. Solicitar la cantidad de n煤meros

cout << "Ingrese n cantidad de n煤meros a ingresar: ";
cin >> n;

Se solicita al usuario cu谩ntos n煤meros desea ingresar.

7. Ciclo while

while(c < n)

El ciclo se ejecutar谩 mientras el contador c sea menor que la cantidad de n煤meros indicada por el usuario.

8. Ingreso de un n煤mero

cout << "Ingrese un n煤mero: ";
cin >> num;

Se solicita un n煤mero y se almacena en una variable de tipo string.

9. Contar la cantidad de d铆gitos

contador = num.length();

La funci贸n length() devuelve la cantidad de caracteres que tiene la cadena almacenada en num. Esa cantidad corresponde al n煤mero de d铆gitos ingresados.

10. Mostrar el resultado

cout << "El n煤mero ingresado tiene " << contador << " d铆gitos\\n";

Se muestra en pantalla la cantidad de d铆gitos que tiene el n煤mero ingresado.

11. Incrementar el contador

c++;

Aumenta el valor de c para pasar a la siguiente repetici贸n del ciclo.

12. Finalizaci贸n del programa

return 0;

Indica que el programa termin贸 correctamente.

Resumen del funcionamiento

El programa solicita una cantidad de n煤meros. Luego, mediante un ciclo while, pide cada n煤mero, cuenta sus d铆gitos utilizando la funci贸n length() y muestra el resultado en pantalla.

Multiplicaci贸n de dos n煤meros, cuando multiplique 0 * 0 muestre un mensaje "El producto de 0 por cualquier n煤mero es 0" en C++

C贸digo del ejercicio:

#include <iostream>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    double num1, num2, mul;
    cout<<"Ingrese el primer n煤mero: "; cin>>num1;
    cout<<"Ingrese el segundo n煤mero: "; cin>>num2;
    if(num1 == 0 && num2 == 0){
        cout<<"El producto de 0 por cualquier n煤mero es 0.";
    }else{
        mul = num1 * num2;
        cout<<"La multiplicaci贸n es: "<<mul;
    }
    return 0;
}

Definici贸n de los c贸digos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida est谩ndar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuraci贸n regional.
using namespace std; --> un espacio de nombres es una colecci贸n de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca est谩ndar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la funci贸n main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecuci贸n del programa. Cuando se ejecuta un programa C++, el control de ejecuci贸n va directamente a la funci贸n main(). Cada programa C++ tiene una funci贸n main().
return 0; --> devolver 0 en la funci贸n principal significa que el programa se ejecut贸 correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los par谩metros locales de la computadora donde se ejecuta el programa, uno de estos par谩metros es el idioma.
LC_CTYPE --> selecciona la categor铆a de clasificaci贸n de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo par谩metro colocaremos la palabra "Spanish" para que as铆 se utilicen los par谩metros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida est谩ndar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada est谩ndar, es decir, el teclado.
double --> convierte un n煤mero entero en un n煤mero de punto flotante de doble precisi贸n, tiene un tama帽o de 64 bits, es usado para n煤meros de menos de 15 cifras decimales.
if --> use if para especificar un bloque de c贸digo que se ejecutar谩, si una condici贸n especificada es verdadera.
else --> use else para especificar un bloque de c贸digo a ejecutar, si la misma condici贸n es falsa.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
&& --> el operador l贸gico AND ( && ) (conjunci贸n l贸gica) para un conjunto de operandos booleanos ser谩 true si y solo si todos los operandos son true. De lo contrario ser谩 false.

Explicaci贸n del C贸digo:

Objetivo del programa

Este programa solicita dos n煤meros al usuario y calcula su multiplicaci贸n. Si ambos n煤meros son 0, muestra un mensaje especial: "El producto de 0 por cualquier n煤mero es 0."

1. Inclusi贸n de bibliotecas

#include <iostream>
#include <clocale>

<iostream> permite utilizar cin y cout para la entrada y salida de datos.

<clocale> permite configurar el idioma del programa.

2. Espacio de nombres

using namespace std;

Permite utilizar elementos de la biblioteca est谩ndar sin escribir std:: antes de cada uno.

3. Funci贸n principal

int main()

Es la funci贸n donde comienza la ejecuci贸n del programa.

4. Configuraci贸n del idioma

setlocale(LC_CTYPE, "Spanish");

Configura el programa para trabajar con caracteres del idioma espa帽ol.

5. Declaraci贸n de variables

double num1, num2, mul;
  • num1: almacena el primer n煤mero.
  • num2: almacena el segundo n煤mero.
  • mul: almacena el resultado de la multiplicaci贸n.

Se utiliza el tipo double para permitir n煤meros enteros y decimales.

6. Entrada de datos

cout << "Ingrese el primer n煤mero: "; cin >> num1; cout << "Ingrese el segundo n煤mero: "; cin >> num2;

Se solicitan al usuario los dos n煤meros que ser谩n multiplicados.

7. Verificaci贸n de la condici贸n especial

if(num1 == 0 && num2 == 0)

Comprueba si ambos n煤meros son iguales a cero.

  • == significa "igual a".
  • && significa "Y l贸gico".

Si ambos valores son 0, se muestra el mensaje:

cout << "El producto de 0 por cualquier n煤mero es 0.";

8. Multiplicaci贸n de los n煤meros

mul = num1 * num2;

Multiplica el primer n煤mero por el segundo y guarda el resultado en la variable mul.

cout << "La multiplicaci贸n es: " << mul;

Muestra el resultado de la multiplicaci贸n en pantalla.

9. Finalizaci贸n del programa

return 0;

Indica que el programa termin贸 correctamente.

Resumen

El programa pide dos n煤meros al usuario. Si ambos son cero, muestra un mensaje especial indicando que el producto es cero. En cualquier otro caso, realiza la multiplicaci贸n y muestra el resultado obtenido.

Pedir la edad y determinar si puede o no sacar licencia de conducir en C++

C贸digo del ejercicio: #include <iostream> using namespace std ; int main () {     int edad;     cout<< "Ing...

Copyright ©2025 Ejercicios de programaci贸n. Todos los derechos reservados. ❤️