Vous êtes sur la page 1sur 76

CONDICIONALES Y CICLOS EN C++

CONDICIONAL IF EN C++

 Los condicionales if, son una estructura de control condicional, que nos permiten tomar cierta decisión al interior
de nuestro algoritmo, es decir, nos permiten determinar que acciones tomar dada condición, por ejemplo
determinar si un numero cualquiera es mayor que 10 y de acuerdo a esto mostrar un mensaje.
¿CÓMO FUNCIONA UN CONDICIONAL IF?

 Para comprender mejor cómo funciona el condicional if, una muy buena forma es partiendo de un ejemplo.
Supongamos que queremos verificar si el resultado de una suma ingresada por el usuario es correcto o no. Para
este ejemplo, el condicional if, es el encargado de verificar si el resultado ingresado corresponde o no a la
respuesta correcta de la suma. El condicional if, funciona verificando la condición ingresada y de acuerdo a su
valor de verdad (falso o verdadero) lleva a cabo o no una serie de instrucciones.
SINTAXIS DEL CONDICIONAL IF EN C++:

if(condición a evaluar)
{
.... ....
Bloque de Instrucciones
A realizar si se cumple la condición
.... .... ....
}
....
Instrucciones restante
.... ....
EJEMPLO:

#include <iostream>

using namespace std;


int main()
{
int edad;
cout<<"¿Qué edad tienes? ";
cin>>edad;
if ( edad > 18 )
cout<<"Eres mayor de edad" ;
}
EJERCICIO

 Hacer un programa en C++ que lea un número por el teclado y determinar si tiene tres dígitos.
#include <iostream> // necesarios para el cin y cout
using namespace std;

int main ()
{
int x; //declaración de la variable x
cout << "Ingrese un numero"<<endl;
cin>> x;

if (x >= 100 && x <= 999)


{ cout<<"El numero "<<x<< " tiene tres digitos"<<endl; }
else
{ cout<<"El numero "<<x<< " no tiene tres digitos"<<endl; }

return 0;
}
EJERCICIO

 Hacer un programa en C++ que lea un número entero positivo de dos dígitos y determinar a cuánto es la suma
de sus dígitos.
#include <iostream>
using namespace std;

int main ()
{
int num, x, y, sum = 0;
cout << "Ingrese un numero de dos digitos"<<endl;
cin>> num;

if (num < 10 || num > 99)


{ cout<<"El numero "<<num<< " no tiene dos digitos o no es
positivo"<<endl; }
else
{
x = num / 10; // Esto se hace para obtener el primer digito del
numero
y = num % 10; // Esto se hace para obtener el segundo digito del
numero
sum = x + y;
cout<<"Los digitos de "<<num<< " suman "<<sum<<endl;
}

return 0;
}
CONDICIONAL IF ELSE EN C++

 Los condicionales if-else, son una estructura de control, que nos permiten tomar cierta decisión al interior de
nuestro algoritmo, es decir, nos permiten determinar que acciones tomar dada o no cierta condición, por ejemplo
determinar si la contraseña ingresada por el usuario es válida o no y de acuerdo a esto darle acceso al sistema o
mostrar un mensaje de error.
¿CÓMO FUNCIONA UN CONDICIONAL IF-ELSE?

 Para comprender mejor cómo funciona el condicional if-else, una muy buena forma es partiendo de un ejemplo.
Imaginemos que en nuestro programa, deseamos implementar un sistema de logeo de usuario, comprobando si la
información suministrada coincide con unos los valores correctos y en este caso mostrar un mensaje de
bienvenida, y en caso de que no, se mostrará un mensaje de error. Como podemos imaginar, es entonces
necesario hacer que nuestro algoritmo, tome una decisión, de acuerdo a los valores ingresados por el usuario, y
definir los dos casos posibles en caso de fallo o en caso de que no. Es para esto que sirve el condicional if-else,
nos permite definir una condición que se debe cumplir y de acuerdo a su cumplimiento o no tomar una acción
correspondiente.
SINTAXIS DEL CONDICIONAL IF-ELSE EN C++:

if(condición a evaluar)
{
....
....
Bloque de Instrucciones si se cumple la condición....
....
....
}
else
{
....
....
Bloque de Instrucciones si NO se cumple la condición....
....
....
}
EJEMPLO

 Debemos entonces determinar cuál va a ser nuestra condición a evaluar, en este ejemplo, la condición debe ser
que la contraseña, sea idéntica a la establecida en nuestro sistema
EJEMPLO
#include "iostream"
#include "string"
#include "stdlib.h"
using namespace std;
int main()
{
string password = "";
cout << "Ingrese la contrasenia: ";
cin >> password;
if(password == "myClave")
{
cout << "Contrasenia correcta. Bienvenido";
}
else
{
cout << "Contrasenia incorrecta.";
}
system("PAUSE");
return 0;
}
EJERCICIO

 Hacer un programa en C++ para una tienda de zapatos que tiene una promoción de descuento para venta al
mayoreo, esta dependerá del número de zapatos que se compren. Si son más de diez, se les dará un 10% de
descuento sobre el total de la compra; si el número de zapatos es mayor de veinte pero menor de treinta, se le
otorga un 20% de descuento; y si son más treinta zapatos se otorgará un 40% de descuento. El precio de cada
zapato es de $80.
#include <iostream>

using namespace std;

int main ()

int x, monto = 0;

cout<<"Ingrese los datos de la compra"<<endl;

cout<<"Zapatos comprados: ";

cin>> x;

monto = x * 80;

if (x < 10)

cout<<"El monto total a pagar es: "<<monto;

else if (x < 20)

cout<<"El monto total a pagar es: "<<monto - (monto * 0.10);

// (monto * 0.10) representa el descuento que se va a realizar

else if (x < 30)

cout<<"El monto total a pagar es: "<<monto - (monto * 0.20);

// (monto * 0.20) representa el descuento que se va a realizar

else

cout<<"El monto total a pagar es: "<<monto - (monto * 0.40);

// (monto * 0.40) representa el descuento que se va a realizar

return 0;

}
EJERCICIO

 Hacer un programa en C++ para una tienda de helado da un descuento por compra a sus clientes con
membresía dependiendo de su tipo, sólo existen tres tipos de membresía, tipo A, tipo B y tipo C. Los descuentos
son los siguientes:

Tipo A 10% de descuento


Tipo B 15% de descuento
Tipo C 20% de descuento
#include <iostream>
using namespace std;

int main ()
{
float x;
char tipo;
cout<<"Ingrese el monto de compra: ";
cin>> x;
cout<<"Tipo de cliente: ";
cin>> tipo;

if (tipo == 'A')
{
cout<<"Tipo A"<<endl;
cout<<"Total a pagar: "<<x - (x * 0.10);
}
else if (tipo == 'B')
{
cout<<"Tipo B"<<endl;
cout<<"Total a pagar: "<<x - (x * 0.15);
}
else if (tipo == 'C')
{
cout<<"Tipo C"<<endl;
cout<<"Total a pagar: "<<x - (x * 0.20);
}
else
{
cout<<"Total a pagar: "<<x;
}

return 0;
}
CONDICIONAL SWITCH EN C++.

 Los condicionales Switch, son una estructura de control condicional, que permite definir múltiples casos que
puede llegar a cumplir una variable cualquiera, y qué acción tomar en cualquiera de estas situaciones, incluso es
posible determinar qué acción llevar a cabo en caso de no cumplir ninguna de las condiciones dadas.
¿CÓMO FUNCIONA EL SWITCH?

 La mejor forma de entender el funcionamiento de algo, es viendo un ejemplo de esto, de este modo, me parece
que para comprender de forma adecuada como funciona un condicional Switch, es bueno hacerlo poniendo un
ejemplo. Imaginemos entonces que nuestro programa consta de un menú de opciones digamos 3 opciones, cada
una representada con un número correspondiente, es decir la opción uno corresponde al número 1, la dos al 2 y
así sucesivamente, queremos entonces que de acuerdo a un número ingresado por el usuario ejecutemos una
acción correspondiente y en caso de que no corresponda a ninguna de las posibles opciones, mostrar un mensaje
de error cualquiera. De este modo, podemos identificar 3 casos distintos para nuestro switch o en otras palabras,
hemos identificado tres condiciones posibles que puede llegar a cumplir nuestra variable: el caso uno corresponde
a que el valor ingresado por el usuario sea el 1, es decir ejecutar la opción 1, el caso 2 el número 2, etc.
adicionalmente hemos encontrado la opción que se ejecutará por defecto en caso de no suceder ninguno de
estos casos, es decir si el usuario ingresa por ejemplo 10, mostraremos un mensaje de error cualquiera.
SINTAXIS DEL CONDICIONAL SWITCH EN C++:

switch(opción) //donde opción es la variable a comparar


{
case valor1: //Bloque de instrucciones 1;
break;
case valor2: //Bloque de instrucciones 2;
break;
case valor3: //Bloque de instrucciones 3;
break;
//Nótese que valor 1 2 y 3 son los valores que puede tomar la opción
//la instrucción break es necesaria, para no ejecutar todos los casos.
default: //Bloque de instrucciones por defecto;
//default, es el bloque que se ejecuta en caso de que no se de ningún caso
}
EJEMPLO 1:
# include "iostream"
using namespace std;
int main()
{
cout << "Ingrese la Opción a ejecutar: ";
int opcion = 0;
cin >> opcion;
switch(opcion)
{
case 1: cout << "Usted ha seleccionado la opción 1";
break;
case 2: cout << "Usted ha seleccionado la opción 2";
break;
case 3: cout << "Usted ha seleccionado la opción 3";
break;
default: cout << "Usted ha ingresado una opción incorrecta";
}
// system("PAUSE"); //Solo ponla si no te da error
return 0;
}
EJEMPLO 2:
# include "iostream"
using namespace std;
int main()
{
cout << "Ingrese la Opción a ejecutar: ";
char opcion;
cin >> opcion;
switch(opcion)
{
case 'a': cout << "Usted ha seleccionado la opción a";
break;
case 'b': cout << "Usted ha seleccionado la opción b";
break;
case 'c': cout << "Usted ha seleccionado la opción c";
break;
default: cout << "Usted ha ingresado una opción incorrecta";
}
// system("PAUSE"); //Solo ponla si no te da error
return 0;
}
EJERCICIO

 Hacer un programa en C++ que lea un entero positivo de dos dígitos y determinar si sus dígitos son números
primos.
#include <iostream>
using namespace std;

int main ()
{
int num, digito1, digito2;
bool primo1 = false, primo2 = false;

cout<<"Ingrese un entero positivo de dos digitos"<<endl;


cin>>num;

if(num < 100 && num > 9)


{
digito1 = num / 10; digito2= num % 10;

switch (digito1)
{
case 2: case 3:
case 7: case 5:
primo1 = true;
break;
}
switch (digito2)
{
case 2: case 3:
case 7: case 5:
primo2 = true;
break;
}

if (primo1 && primo2)


{ cout<<"Ambos digitos son primos"<<endl; }
else
{ cout<<"Ambos digitos no son primos"<<endl; }
}
else
{ cout<<"El numero no tiene dos digitos o no es positivo"<<endl; }

return 0;
}
EJERCICIO

 Hacer un programa en C++ que convierta centímetros a pulgadas y libras a kilogramos.


#include <iostream>
using namespace std;

int main ()
{
int x;
float pulgadas, kilo, distancia, peso;

cout<<"Que desea convertir, distancia o peso?"<<endl;


cout<<"Escriba 1 para distancia o 2 para peso"<<endl;
cin>>x;

switch (x)
{
case 1:
cout<<"Ingrese la distancia en centimetros"<<endl;
cin>>distancia;
pulgadas = distancia / 2.54;
cout<<"Las pulgadas son: "<<pulgadas<<endl;
break;
case 2:
cout<<"Ingrese el peso en libras"<<endl;
cin>>peso;
kilo = peso * (1 / 2.21);
cout<<"Las kilogramos son: "<<kilo<<endl;
break;
default:
cout<<"Opcion no valida";
}

return 0;
}
CICLO FOR EN C++

 Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas o simplemente estructuras
cíclicas, estos ciclos, como su nombre lo sugiere, nos permiten ejecutar una o varias líneas de código de forma
iterativa, conociendo un valor especifico inicial y otro valor final, además nos permiten determinar el tamaño del
paso entre cada "giro" o iteración del ciclo.
¿CÓMO FUNCIONA UN CICLO FOR?

 Para comprender mejor el funcionamiento del ciclo for, pongamos un ejemplo, supongamos que queremos
mostrar los números pares entre el 50 y el 100, si imaginamos un poco como seria esto, podremos darnos cuenta
que nuestro ciclo deberá mostrar una serie de números como la siguiente: 50 52 54 56 58 60 ... 96 98 100. Como
podemos verificar, tenemos entonces los componentes necesarios para nuestro ciclo for, tenemos un valor inicial
que sería el 50, tenemos también un valor final que sería el 100 y tenemos un tamaño de paso que es 2 (los
números pares). Estamos ahora en capacidad de determinar los componentes esenciales para un ciclo for.
SINTAXIS DEL CICLO FOR EN C++:

for(int i = valor inicial; i <= valor final; i = i + paso)


{
....
....
Bloque de Instrucciones....
....
....
}
EJEMPLO 1:

 El ciclo se va a detener solo cuando el numero ingresado sea mayor que 100, así que la condición para que se
siga ejecutando es que el numero sea menor a 100, ¿Comprender la lógica?, es simple si para que se detenga el
numero debe ser mayor a 100, entonces para seguirse ejecutando el numero debe ser menor o igual a 100
EJEMPLO 1:

#include "iostream"
#include "stdlib.h"

using namespace std;


int main()
{

for(int i=50;i<=100;i+=2)
{//Notemos que escribir i+=2 es similar a escribir i = i + 2
cout << i << endl;
}
system("PAUSE");
return 0;
}
EJEMPLO 2

 Para este caso, debido a que queremos ir de un número mayor a uno más pequeño, por lo tanto para este
ejemplo el valor inicial será 10 y el valor final será cero.
EJEMPLO 2:

#include "iostream"
#include "stdlib.h"

using namespace std;


int main()
{

for(int i=10; i > 0; i--)


{
//Notemos que escribir i-- es similar a escribir i = i - 1
cout << i << endl;
}
system("PAUSE");
return 0;
}
EJERCICIO

 Hacer un programa en C++ que escriba los números del 1 al 100.


#include <iostream>
using namespace std;

int main ()
{
for (int i = 1; i <= 100; i++)
{
cout<< i << endl;
}

return 0;
}
EJERCICIO

 Hacer un programa en C++ que escriba en pantalla los números múltiplos de 3 comprendidos del 1 al 100.
#include <iostream>
using namespace std;

int main ()
{
for (int i = 1; i <= 1000; i++)
{
if (i % 3 == 0)
{ cout<< i << endl; }
}

return 0;
}
EJERCICIO

 Hacer un programa en C++ que sume todos los números comprendidos del 1 al 100.
#include <iostream>
using namespace std;

int main ()
{
int sum = 0;
for (int i = 1; i <= 100; i++)
{
sum += i;
}
cout<<"La suma total es: "<<sum;

return 0;
}
EJERCICIO

 Hacer un programa en C++ que calcule el factorial de un número.


#include <iostream>
using namespace std;

int main ()
{
int num;
float factorial = 1;

cout<<"Ingrese un numero: "; cin>> num;

for (int i = 1; i <= num; i++)


{
factorial *= i;
}

cout<<"El factorial de "<<num<<" es: "<<factorial;

return 0;
}
CICLO WHILE EN C++.

 Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o varias líneas de código de
manera repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar
el valor final que esperamos, los ciclos while, no dependen directamente de valores numéricos, sino de valores
booleanos, es decir su ejecución depende del valor de verdad de una condición dada, verdadera o falso, nada más.
De este modo los ciclos while, son mucho más efectivos para condiciones indeterminadas, que no conocemos
cuando se van a dar a diferencia de los ciclos for, con los cuales se debe tener claro un principio, un final y un
tamaño de paso.
¿CÓMO FUNCIONA UN CICLO WHILE?

 Para comprender mejor el funcionamiento del ciclo while, pongamos un buen ejemplo, imaginemos que por algún
motivo, queremos pedirle a un usuario una serie de números cualquiera y que solo dejaremos de hacerlo cuando
el usuario ingrese un número mayor a 100. Como vemos, aquí no podríamos utilizar un ciclo for, pues no tenemos
ni idea de cuándo al usuario se le va a ocurrir ingresar un número mayor que 100, es algo indeterminado para
nosotros, sin embargo el ciclo while nos permite ejecutar una acción de forma infinita hasta que se cumpla alguna
condición especifica, en nuestro caso sería que el numero ingresado sea mayor a 100. De modo que si el usuario
nos ingresa de manera sucesiva los siguientes numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara,
pues ninguno de estos números es mayor que 100, sin embargo si nos ingresara el numero 300, el programa
finalizaría inmediatamente.
SINTAXIS DEL CICLO WHILE EN C++:

while(condición de finalización) //por ejemplo numero == 100


{
....
....
Bloque de Instrucciones....
....
....
}
EJEMPLO 1: PEDIR NÚMEROS POR PANTALLA HASTA QUE
ALGUNO SEA MAYOR A 100

#include "iostream"
#include "stdlib.h"
using namespace std;
int main()
{
int numero;
cout << "Ingrese un numero ";
cin >> numero;
while(numero <= 100)
{
cout << "Ingrese un numero ";
cin >> numero;
}
system("PAUSE");
return 0;
}
EJERCICIO

 Hacer un programa en C++ que calcule el factorial de un número usando el bucle while.
#include <iostream>
using namespace std;

int main ()
{
int num, conta = 1;
float factorial = 1;

cout<<"Ingrese un numero: "; cin>> num;

while (conta != num)


{
factorial *= (conta + 1);
conta++;
}

cout<<"El factorial de "<<num<<" es: "<<factorial;

return 0;
}
EJERCICIO

 Hacer un programa en C++ que calcule las notas de un alumno, el programa va a terminar cuando el
estudiante no quiera ingresar más notas.
#include <iostream>
using namespace std;

int main ()
{
char resp = 's';
float nota1, nota2, nota3, total;

while (resp == 's' || resp == 'S')


{
cout<<"Ingrese tres notas"<<endl;
cout<<"Nota 1: "; cin>> nota1;
cout<<"Nota 2: "; cin>> nota2;
cout<<"Nota 3: "; cin>> nota3;

total = (nota1 + nota2 + nota3) / 3;


cout<<"Su nota final es: "<< total;
cout<<"\nDesea introducir nuevas notas? "<<endl;
cout<<"(S/N): "; cin>> resp;
nota1 = nota2 = nota3 = 0;
}
cout<<"\n\n\nHasta luego";

return 0;
}
EJERCICIO

 Hacer un programa en C++ que calcule la media de una cantidad de números introducidos por teclado.
#include <iostream>
using namespace std;

int main ()
{
int num, cantidad, conta = 1, sum =0;
float total = 0;
cout<<"Ingrese la cantidad de numeros que que quiere escribir: ";
cin>> cantidad;

while(conta <= cantidad)


{
cout<<"Ingrese un numero"<<endl;
cin>>num;
sum += num;
conta++;
}

total = sum / cantidad;


cout<<"La media de los numeros es: "<< total;

return 0;
}
CICLO DO-WHILE EN C++.

 Los ciclos do-while son una estructura de control cíclica, los cuales nos permiten ejecutar una o varias líneas de
código de forma repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se
va a dar el valor final, hasta aquí son similares a los ciclos while, sin embargo el ciclo do-while nos permite añadir
cierta ventaja adicional y esta consiste que nos da la posibilidad de ejecutar primero el bloque de instrucciones
antes de evaluar la condición necesaria, de este modo los ciclos do-while, son más efectivos para algunas
situaciones especificas.
¿CÓMO FUNCIONA UN CICLO DO-WHILE?

 Para comprender mejor el funcionamiento del ciclo while, usemos de nuevo el ejemplo de la sección anterior
sobre el ciclo while. Imaginemos entonces que por algún motivo, queremos pedirle a un usuario una serie de
números cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100. Como
vimos anteriormente, esto se puede hacer por medio de un ciclo while, pero vamos ahora a ver como lo
podemos hacer usando un ciclo do-while mejorando así un poco nuestro algoritmo, evitando ciertos comandos,
tal como se dijo con el ciclo while, en efecto aquí estamos en la situación de no tener ni idea de cuándo al
usuario se le va a ocurrir ingresar un número mayor que 100, pues es algo indeterminado para nosotros, sin
embargo el ciclo while y en efecto el do-while nos permite ejecutar cierta acción de forma infinita hasta que se
cumpla alguna condición especifica, en nuestro caso sería que el numero ingresado sea mayor a 100. De modo
que si el usuario nos ingresa de manera sucesiva los siguientes numero 1,50,99, 49, 21, 30, 100 ..., nuestro
programa no finalizara, pues ninguno de estos números es mayor que 100, sin embargo si nos ingresara el numero
300, el programa finalizaría inmediatamente.
SINTAXIS DEL CICLO DO-WHILE EN C++:

do
{
....
....
Bloque de Instrucciones....
....
....
}
while(condición de finalización);
EJEMPLO

 El ciclo se va a detener solo cuando el numero ingresado sea mayor que 100, así que la condición para que se
siga ejecutando es que el numero sea menor a 100, ¿Comprender la lógica?, es simple si para que se detenga el
numero debe ser mayor a 100, entonces para seguirse ejecutando el numero debe ser menor o igual a 100
EJEMPLO

#include "iostream"
#include "stdlib.h"
using namespace std;
int main()
{
int numero;
do
{
cout << "Ingrese un numero ";
cin >> numero;
}
while(numero <= 100);
system("PAUSE");
return 0;
}
DIFERENCIAS ENTRE EL CICLO DO-WHILE EN C++ Y EL
CICLO WHILE

 La diferencia es que el do-while, primero ejecuta la acción y luego evalúa la condición, mientras que el while
evalúa la condición antes que cualquier cosa. Esto quiere decir, que el ciclo while podría no ejecutar ni siquiera
una vez lo que tenga en su interior, mientras que el do-while te asegura que lo que pongas dentro se ejecute
mínimo una vez, pues primero ejecuta y luego evalúa la condición.
EJERCICIO

 Hacer un programa en C++ que calcule el factorial de un número usando el bucle do-while.
#include "iostream"

using namespace std;

int main ()
{
int num, conta = 1;
float factorial = 1;

cout<<"Ingrese un numero: ";


cin>> num;

do
{
factorial *= (conta + 1);
conta++;
} while (conta < num);

cout<<"El factorial de "<<num<<" es: "<<factorial;

return 0;
}
EJERCICIO

 Hacer un programa en C++ que realice la su a de los 10 primeros números enteros.


#include "iostream"
#include<stdio.h>
#include<stdlib.h>
void main()
{
int num=0;
int suma=0;
do
{
suma = suma + num;
num++;
} while(num<=10);
printf(“Suma = %d\n”,suma);
system(“pause”);
}
CICLOS ANIDADOS EN C++.

 Antes de comenzar, quisiera aclarar que los ciclos anidados NO son en sí una estructura de control, son de hecho
un conjunto de estructuras de control anidadas, con anidadas me refiero a que una está dentro de la otra. De este
modo un ciclo anidado (de hecho debería ser ciclos anidados, en plural ) no es más que uno o más ciclos dentro
de otro y de hecho no tenemos límite alguno para la cantidad de ciclos anidados.
¿CÓMO FUNCIONA UN CICLO ANIDADO?

 Los ciclos anidados suelen usarse para llenar matrices (un vector de varias dimensiones) donde un ciclo recorre
cada fila y otro cada columna o viceversa (depende de lo que necesitemos). De este modo entonces el ciclo
externo empieza por la columna cero y el interno llena cada casilla de la columna cero y luego de la uno y las dos
y así...
SINTAXIS DE CICLOS ANIDADOS:

for(int i = valor inicial; i < valor final; i++)


{
/*
....
....
Bloque de Instrucciones....
....
....
*/
for(int j = valor inicial; j < valor final; j++)
{
/*
....
....
Bloque interno de Instrucciones....
....
....
*/
}
//Acá pueden haber más instrucciones
}
while(condición)
{
/*
Bloque de Instrucciones....
*/

for(int i = valor inicial; j < valor final; j++)


{
/*
Bloque interno de Instrucciones....
*/
while(condición2)
{
/*
Más instrucciones
*/
}
}
//Acá pueden haber más instrucciones
}
EJEMPLO DE CICLOS ANIDADOS EN C++

 vamos a llenar una matriz de 10x10 (diez filas y diez columnas) con los número del 1 al 100 (1x1 hasta 10x10).
#include "iostream“
#include "stdlib.h"
using namespace std;

int main()
{
int matriz[10][10];

for(int i = 0; i < 10; i++)//Ciclo externo


{
//Notemos que en ciclo interno no usamos la variable 'i' sino 'j'
//Si usaramos i, el comportamiento sería inesperado
for(int j = 0; j < 10; j++)//Ciclo interno
{
//Llenamos la matríz con los números del 1 al 100
matriz[i][j] = (i+1)*(j+1);
//(i+1)*(j+1) va desde 1x1 hasta 10x10 (aunque en desorden)
}
}

system("pause");
return 0;
}
SEGUNDO EJEMPLO DE CICLOS ANIDADOS EN C++

 Ahora vamos a hacer la función complementaria, vamos a recorrer la matriz usando ciclos anidados y a mostrar
los valores en ésta.
#include "iostream“
#include "stdlib.h"

using namespace std;

int main()
{
//Suponiendo que tenemos una matríz llena llamada matrix
for(int i = 0; i < 10; i++)//Ciclo externo
{
//Recuerda: En ciclo interno no usamos la variable 'i' sino
'j'
for(int j = 0; j < 10; j++)//Ciclo interno
{
//Mostramos por pantalla el valor de la fila i columna j
cout << matriz[i][j] << "\n";
}
}

system("pause");
return 0;
}
EJERCICIO

 Juntar ambos códigos para realizar ambas tareas (recorrer y mostrar la matriz) usando ciclos anidados.
#include "iostream"
using namespace std;

int main()
{
int matriz[10][10];

for(int i = 0; i < 10; i++)//Ciclo externo


{
//Notemos que en ciclo interno no usamos la variable 'i' sino 'j'
//Si usaramos i, el comportamiento sería inesperado
for(int j = 0; j < 10; j++)//Ciclo interno
{
//Llenamos la matríz con los números del 1 al 100
matriz[i][j] = (i+1)*(j+1);
//(i+1)*(j+1) va desde 1x1 hasta 10x10
}
}

for(int i = 0; i < 10; i++)//Ciclo externo


{
for(int j = 0; j < 10; j++)//Ciclo interno
{
//Mostramos por pantalla el valor de la fila i columna j
cout << matriz[i][j] << "\n";
}
}

system("pause");
return 0;
}
EJERCICIO

 Hacer un programa en C++ para registrar las n calificaciones de m alumnos, calcular y desplegar su promedio.
Tambien desplegar si esta aprobado con calificación mayor o igual a 70, en caso contrario no aprobado . Al final
debe indicar la cantidad de aprobados y la cantidad de no aprobados
#include<iostream>
using namespace std;
int main()
{
int n,m,c1,c2,suma, promedio,calf,ca=0,cna=0, promG=0;
cout<<"Introduce el numero de alumnos: ? ";
cin>>m;
cout<<"Introduce el numero de calificaciones: ? ";
cin>>n;
for(c1=1;c1<=m;c1++)
{
suma=0;
cout<<"\n\nNo. Alumno "<<c1<<endl;
for(c2=1;c2<=n;c2++)
{
cout<<"\nCalificacion "<<c2<<": ? ";
cin>>calf;
suma +=calf;
}
promedio=suma/n;
promG +=promedio;
cout<<"\nEl promedio es "<<promedio;
if (promedio >=70)
{
ca++;
cout<<" Aprobado"<<endl;
}
else
{
cna++;
cout<<" No aprobado"<<endl;
}
}
cout<<"\n\nPromedio general del grupo : "<<promG/m<<endl;
cout<<"\nNo Alumnos Aprobados: "<<ca<<endl;
cout<<"\nNo alumnos No Aprobados: "<<cna<<endl;
return 0;
}
EJERCICIO

Vous aimerez peut-être aussi