Vous êtes sur la page 1sur 156

Algoritmos codificados en C++

ndice

Datos de catalogacin bibliogrfica

Fundamentos de programacin algoritmos codificados

Encargado Pre-edicin: Vctor Manuel Chambi Encargado Difusin y Publicacin Online: Jorge Antonio Linares Vera Colaborador estructura secuencial: Eder Salcedo, Royer Fernandez Colaborador estructura selectiva simple y doble: Alexis Lipe, Diego Canchari Colaborador estructura selectiva mltiple: Manuel Chambi, Edwin Aroapaza Colaborador estructura repetitiva mientras: Luis Charres, Jos Dueas Colaborador estructura repetitiva para: Luis Charres, Eder Orellano Colaborador estructura de datos arreglos, vectores y matrices: Martin Huacho, Fiorela Crdenas

_________________________________________________
Respetar los derechos de Autor y Publicacin, Material Exclusivo para ESISVIRTUAL La comunidad Informtica

marzo 2010 e-mail:victormanuel9002@hotmail.com e-mail:jorlive_8@hotmail.com

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Agradecimientos

Es difcil dejar de mencionar a las personas que da a da fortalecen el conocimiento y la sabidura de los dems. Me faltaran lneas en este libro para mencionar a todos. Pero mencionare a las personas muy especiales que han ayudado con su sabidura y experiencia plasmar muchas de sus experiencias en esta obra, Ing. Edgar Pilco Apaza e Ing. Luis Ferreyra Len.

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Estructura secuencial _________________________________________________


Son aquellos algoritmos que ejecutan instrucciones en forma consecutiva, es decir uno detrs de otro, hasta finalizar el proceso. Instruccin 1 Instruccin 2 Instruccin n

Problema 01

Enunciado: Un alumno desea saber cul ser su calificacin final en el curso de introduccin a la computacin. Dicha calificacin se compone de los siguientes porcentajes: 40% del promedio de sus tres trabajos prcticos 25% de la calificacin del examen terico 35% de la calificacin del examen prctico

Datos de entrada:

http://www.esisvirtual.com

Algoritmos codificados en C++


P3= Promedio de sus tres Trabajos Prcticos ET= Calificacin del Examen Terico

ndice

EP= Calificacin del Examen Practico

Datos de salida: CF= Calificacin final

Procedimiento: 40% del promedio de sus tres trabajos prcticos (40*P3) 25% de la calificacin del examen terico (25*ET) 35% de la calificacin del examen prctico (35*EP) Calificacin final (CF) CF = (40*P3 + 25*ET + 35*EP)/100

Diagrama de flujo:

INICIO

Leer P3,ET,EP

CF= (40* P3+25*ET+35*EP)/100

Escribir CF

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

FIN

Cdigo: # include"iostream.h" # include"conio.h" void main () { int P3,ET,EP,CF; clrscr (); cout<< " Promedio de sus tres Trabajos Practicos "; cin>> P3; cout<< " Calificacion del Examen Teorico "; cin>> ET; cout<< " Calificacion del Examen Practico "; cin>> EP; CF=(40*P3+25*ET+35*EP)/100; cout<< " La Calificacion final es: "<< CF; getch (); }

Problema 02

Enunciado:

http://www.esisvirtual.com

Algoritmos codificados en C++


La escuela de Computacin de Matemtica desea saber el porcentaje de hombres y mujeres que existen en el primer ao de estudios.

ndice

Datos de entrada: H= NUMERO DE HOMBRES M= NUMERO DE MUJERES

Datos de salida: PH= EL PORCENTAJE DE HOMBRES PM=EL PORCENTAJE DE MUJERES

Procedimiento: S= H+M Porcentaje de hombres PH 100 H S PH*S=100*H PH=(100*H)/S

Porcentaje de mujeres PM 100 M S PM*S=100*M PM=(100*M)/S

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

INICIO

Leer H,M

S=H+M;

PH=H*100/S;

PM=M*100/S;

Escribir PH,PM

FIN

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include"iostream.h" #include"conio.h" void main () { int H,M,S,PH,PM; clrscr (); cout<< " Numero de hombres "; cin>> H; cout<< " Numero de mujeres "; cin>> M; S=H+M; PH=H*100/S; PM=M*100/S; cout<< " El porcentaje de hombres es: "<<PH<<endl; cout<< " El porcentaje de mujeres es: "<<PM<<endl;

getch ();

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Problema 03

Enunciado: Disee el programa que calcule el ao de nacimiento de un estudiante.

Datos de entrada: AA= Ao actual EA= Edad actual

Datos de salida: AN= El ao de nacimiento

Procedimiento: EA = AA AN

Si la edad actual es el ao actual menos el ao de nacimiento entonces:

AN

AA

EA

Por simple despeje el ao de nacimiento es el ao actual menos la edad actual

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo: INICIO

Leer AA,EA

AN=AA-EA

Escribir AN

FIN

Cdigo: #include"iostream.h" #include"conio.h" void main () { int AA,EA,AN; clrscr (); cout<< " AO ACTUAL "; cin>> AA; cout<< " EDAD ACTUAL ";

10

http://www.esisvirtual.com

Algoritmos codificados en C++


cin>> EA;

ndice

AN=AA-EA; cout<< " EL AO DE NACIMIENTO ES: "<<AN; getch (); }

Problema 04

Enunciado: Calcular el salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.

Datos de entrada: SA= Salario anterior

Datos de salida: SO= Salario actual

Procedimiento: El obrero quiere un aumento del 25% de su sueldo, ms, es decir: SA= Salario anterior

SO= SA + *SA

SO= SA + 0.25*SA

11

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

INICIO

Leer SA

SO=SA+0.25*SA;

Escribir SO

FIN

Cdigo: #include"iostream.h" #include"conio.h" void main () { int SA,SO; clrscr (); cout<< " SALARIO ANTERIOR "; cin>> SA; SO=SA+0.25*SA; cout<< " EL SALARIO ACTUAL DEL OBRERO ES: "<< SO;

12

http://www.esisvirtual.com

Algoritmos codificados en C++


getch (); }

ndice

Problema 05

Enunciado: En la Facultad se desea calcular el presupuesto anual que recibir cada escuela si la reparticin es: 30% para la escuela de Qumica 10% para la escuela de Fsica 35% para la escuela de Computacin 25% para la escuela de Biologa

Datos de entrada: PT= Presupuesto total

Datos de salida: PAQ= el presupuesto anual para la escuela de qumica PAF= el presupuesto anual para la escuela de fsica PAC= el presupuesto anual para la escuela de computacin PAB= el presupuesto anual para la escuela de biologa es:

Procedimiento: Para la escuela de Qumica el 30% del presupuesto PAQ=PT*30/100

13

http://www.esisvirtual.com

Algoritmos codificados en C++


Para la escuela de Fsica el 10% del presupuesto PAF=PT*10/100

ndice

Para la escuela de Computacin 35% del presupuesto PAC=PT*35/100 Para la escuela de Biologa 25% del presupuesto PAB=PT*25/100;

Diagrama de flujo:

INICIO

Leer PT

PAQ=PT*30/100; PAF=PT*10/100; PAC=PT*35/100; PAB=PT*25/100; Escribir PAQ,PAF,PAC,PAB

FIN

14

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Codigo: #include"iostream.h" #include"conio.h" void main () { int PT,PAQ,PAF,PAC,PAB; clrscr (); cout<< " PRESUPUESTO TOTAL "; cin>> PT; PAQ=PT*30/100; PAF=PT*10/100; PAC=PT*35/100; PAB=PT*25/100; cout<< " EL PRESUPUESTO ANUAL PARA LA ESCUELA DE QUIMICA ES: "<< PAQ<<endl; cout<< " EL PRESUPUESTO ANUAL PARA LA ESCUELA DE FISICA ES: "<< PAF<<endl; cout<< " EL PRESUPUESTO ANUAL PARA LA ESCUELA DE COMPUTACION ES: "<< PAC<<endl; cout<< " EL PRESUPUESTO ANUAL PARA LA ESCUELA DE BIOLOGIA ES: "<< PAB<<endl; getch (); }

15

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Estructura selectiva simple y doble _________________________________________________


Muchas veces tenemos que decidir y realizar una u otra tarea dependiendo de una condicin, en la programacin existe una estructura que permite evaluar una condicin (expresin lgica que devuelve verdadero o falso) y determina que instruccin o instrucciones se deben ejecutar si la condicin es verdadera o si la condicin es falsa.

Exp. Lgica Instruccin 1 Instruccin n

Problema 06

Enunciado: Disee un programa que lea dos nmeros (el segundo de dos cifras) y visualice primero la multiplicacin del primer nmero con el segundo. La visualizacin debe realizarse como si se efectuara la multiplicacin en forma manual.

Datos de entrada: N1= el primer numero

16

http://www.esisvirtual.com

Algoritmos codificados en C++


N2= el segundo numero AB

ndice

Datos de salida: M1= el resultado de N1*B M2= el resultado de N1*A M = el resultado de N1*N2

Procedimiento: Primero determinaremos los dos nmeros de la multiplicacin, sin embargo nos aseguraremos de que el segundo nmero sea de dos cifras (AB) N2= el segundo numero de dos cifras AB Damos valores a las cifras del segundo nmero a la unidad B y a la decena A: B=N2%10 y A=N2/10.

Si nos fijamos bien en la operacin; especficamente en el segundo nmero que debera ser solo de dos cifras, es decir este no debera ser de una; ni ms de dos cifras, adems no se especifica que este nmero deba ser positivo o negativo, as que N2 podra ser mayor o igual a cero; esto a modo de descubrir si este es positivo o negativo acondicionaremos If (N2>=0)

De ser verdadero: Comprobaremos si N2 es mayor o igual a 10 (N2>=10) para descubrir si est comprendido por una sola cifra positiva, de serlo saldremos de la codificacin y escribiremos:" EL SEGUNDO NUMERO NO TIENE DOS CIFRAS", de lo contrario seguiremos hallando la decena de N2 (A=N2/10) y la unidad de N2 (B=N2%10). Luego para comprobar si es un nmero mayor de 2 cifras nos fijaremos en A, si A es menor que 10 (A<10) significa que N2 ser menor que 100 (99, 98, 97, 96), por ejemplo: Si A=100/10=10, A SERA SIEMPRE MAYOR O IGUAL QUE 10 Y N2 TENDRA MAS DE 2 CIFRAS En cambio Si A=99/10=9.9, A SERA SIEMPRE MENOR QUE 10 Y N2 TENDRA DOS CIFRAS De ser A menor que 10, continuaremos la codificacin hallando M1 (M1=N1*B), M2 (M2=N1*A) y M (M=N1*N2), de lo contrario saldremos de ella escribiendo:" EL SEGUNDO NUMERO NO TIENE DOS CIFRAS ", 17 http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

De ser falso: Colocaremos la condicin If (N2<= -10) para descubrir si N2 est comprendido por una sola cifra negativa, de serlo saldremos de la codificacin y escribiremos:" EL SEGUNDO NUMERO NO TIENE DOS CIFRAS ",de lo contrario seguiremos hallando A (A=N2/10) y B (B=N2%10). Luego para comprobar si es un nmero mayor de 2 cifras nos fijaremos en A, si A es mayor que -10, (A>-10), significa que este tomara los de -9,-8,-7,-6,; ya que si lo fuera N2 ser mayor que -100 (-99,-98,-97,), por ejemplo: Si A= -100/10= -10, A SERA SIEMPRE MENOR O IGUAL QUE -10 Y N2 TENDRA MAS DE 2 CIFRAS En cambio Si A= -99/10= -9.9, A SERA SIEMPRE MAYOR QUE -10 Y N2 TENDRA DOS CIFRAS Continuaremos la codificacin hallando M1 (M1=N1*B), M2 (M2=N1*A) y M (M=N1*N2), de lo contrario saldremos de ella escribiendo:" EL SEGUNDO NUMERO NO TIENE DOS CIFRAS". Ahora para mostrar el segundo paso de una multiplicacin manual multiplicaremos el primer nmero por la unidad del segundo nmero (B) y debajo de este; debe estar sumado a la multiplicacin del primer nmero por la decena del segundo nmero(A), esta ultima multiplicacin debe correr un espacio a la izquierda para recin ser sumada, como se hace en una multiplicacin normal y para el resultado final (M) multiplicaremos el primero por el segundo nmero.

M1= el resultado de N1*B M2= el resultado de N1*A M = el resultado de N1*N2

Visualizacin de la multiplicacin en forma manual:

N1* N2 M1 + M2

18

http://www.esisvirtual.com

Algoritmos codificados en C++


M

ndice

M = El resultado de N1*N2

Diagrama de flujo:

INICIO

Leer N1,N2

If (N2>=0) V

F
If (N2<= -10) Escribir " EL SEGUNDO NUMERO NO TIENE DOS CIFRAS ";

If (N2>=10)

F A=N2/10;
Escribir " EL SEGUNDO NUMERO NO TIENE DOS CIFRAS ";

A=N2/10; B=N2%10;

B=N2%10; V F
If (A<10)

If (A>-10)

M1=N1*B ; M2=N1*A;

Escribir " EL SEGUNDO NUMERO NO TIENE DOS CIFRAS ";

M1=N1*B;

Escribir " EL SEGUNDO NUMERO NO TIENE DOS CIFRAS ";

M2=N1*A;

M=N1*N2;

M=N1*N2;

Escribir M1,M2,M

19

http://www.esisvirtual.com

Algoritmos codificados en C++


FIN

ndice

Cdigo: #include"iostream.h" #include"conio.h" void main () { int A,B,N1,N2,M1,M2,M; clrscr (); cout<< "MULTIPLICACION"; cout<< "\n==============\n"; cout<< " EL PRIMER NUMERO ES: cin>> N1; cout<< " EL SEGUNDO NUMERO ES: AB "; cin>> N2; if (N2>=0) { if (N2>=10) { A=N2/10; B=N2%10; if (A<10) { M1=N1*B; ";

20

http://www.esisvirtual.com

Algoritmos codificados en C++


M2=N1*A; M=N1*N2;

ndice

cout<< " EL RESULTADO DE N1*B ES: "<< M1;cout<<"+"<<endl; cout<< " EL RESULTADO DE N1*A ES: "<< M2<<endl; cout<< " EL RESULTADO DE N1*N2 ES: "<< M<<endl; } else { cout<< " EL SEGUNDO NUMERO NO TIENE DOS CIFRAS "; } } else { cout<< " EL SEGUNDO NUMERO NO TIENE DOS CIFRAS "; } } else { if (N2<=-10) { A=N2/10; B=N2%10; if (A>-10) {

21

http://www.esisvirtual.com

Algoritmos codificados en C++


M1=N1*B; M2=N1*A;

ndice

M=N1*N2; cout<< " EL RESULTADO DE N1*B ES: "<< M1;cout<<"+"<<endl; cout<< " EL RESULTADO DE N1*A ES: "<< M2<<endl; cout<< " EL RESULTADO DE N1*N2 ES: "<< M<<endl; } else { cout<< " EL SEGUNDO NUMERO NO TIENE DOS CIFRAS "; } } else { cout<< " EL SEGUNDO NUMERO NO TIENE DOS CIFRAS "; } } getch (); }

Problema 07

Enunciado:

22

http://www.esisvirtual.com

Algoritmos codificados en C++


Tres personas desean invertir su dinero en un proyecto informtico. Cada una de ellas invierte una cantidad distinta, se desea obtener el porcentaje que cada quien invierte en el proyecto respecto a la cantidad total invertida.

ndice

Datos de entrada: I1= Inversin de la primera persona I2= Inversin de la segunda persona I3= Inversin de la tercera persona

Datos de salida: PI1= El porcentaje de inversin de la primera persona PI2= El porcentaje de inversin de la segunda persona PI3= El porcentaje de inversin de la tercera persona

Procedimiento: Antes de determinar los porcentajes de cada dinero invertido, nos aseguraremos de que estos sean distintos uno del otro: Si la primera inversin es igual a la segunda o si la primera fuera igual a la tercera o la segunda fuera igual a la tercera: Si (I1==I2||I1==I3||I2==I3). Al hacer esto solo determinaramos que estas tres inversiones son iguales, sin embargo al pasarlas como falsas estas se convierten en distintas, a continuacin solo determinamos los porcentajes de cada dinero invertido:

S= I1+I2+I3; PI1= I1*100/S; PI2= I2*100/S; PI3= I3*100/S;

23

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

INICIO

Leer I1, I2, I3

If (I1==I2||I1==I3||I2==I3)

Escribir" ERROR: LAS INVERSIONES DEBEN SER DISTINTAS "

S= I1+I2+I3; PI1= I1*100/S; PI2= I2*100/S; PI3= I3*100/S;

Escribir PI1, PI2, PI3

FIN

24

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Codigo:

# include "conio.h" # include "iostream.h" void main () { int I1,I2,I3,S,PI1,PI2,PI3; clrscr (); cout<<" INVERSION DE LA PRIMERA PERSONA "; cin>>I1; cout<<" INVERSION DE LA SEGUNDA PERSONA "; cin>>I2; cout<<" INVERSION DE LA TERCERA PERSONA "; cin>>I3; if (I1==I2||I1==I3||I2==I3) { cout<< " ERROR : LAS INVERSIONES DEBEN SER DISTINTAS " ; } else { S= I1+I2+I3;

25

http://www.esisvirtual.com

Algoritmos codificados en C++


PI1= I1*100/S; PI2= I2*100/S; PI3= I3*100/S;

ndice

cout<< " El porcentaje de inversion de la primera persona es: "<< PI1<<endl; cout<< " El porcentaje de inversion de la segunda persona es: "<< PI2<<endl; cout<< " El porcentaje de inversion de la tercera persona es: "<< PI3<<endl;

getch ();

Problema 08

Enunciado: El dueo de una computadora desea venderla. Obtener el precio en que lo debe vender para obtener una ganancia del 25%.

Datos de entrada: PC= Precio de compra

Datos de salida:

26

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

PV= El precio de venta

Procedimiento: El dueo de una computadora quiere una ganancia del 25% de ella para venta, es decir ms del precio que la compr: PC= Precio de compra

PV= PC + *PC

PV= PC + 0.25*PC

Diagrama de flujo:

INICIO

Leer PC

PV=PC+0.25*PC

Escribir PV

FIN

27

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include"iostream.h" #include"conio.h" void main () { int PC,PV; clrscr (); cout<< " PRECIO DE COMPRA "; cin>> PC;

PV=PC+0.25*PC;

cout<< " EL PRECIO DE VENTA ES: "<< PV; getch ();

28

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Problema 09

Enunciado: En las elecciones presidenciales 2001, cada uno de los tres primeros candidatos Alejandro Toledo, Lourdes Flores y Alan Garca prometen crear una cantidad de fuentes de trabajo distribuidos en las siguientes reas:

ALEJANDRO TOLEDO Agricultura (20%) Comercio (40%) Industria (40%)

LOURDES FLORES Agricultura (10%) Comercio (20%) Industria (70%)

ALAN GARCIA Agricultura (40%) Comercio (35%) Industria (25%) Calcular el nmero de fuentes de trabajo en cada rea segn el candidato

29

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Datos de entrada: AT= Cantidad de fuentes de trabajo en el gobierno de Alejandro Toledo LF = Cantidad de fuentes de trabajo en el gobierno de Lourdes flores AG= Cantidad de fuentes de trabajo en el gobierno de Alan Garca

Datos de salida: ATA =trabajos en gobierno de Alejandro Toledo en el rea de Agricultura ATC =trabajos en gobierno de Alejandro Toledo en el rea de Comercio ATI =trabajos en gobierno de Alejandro Toledo en el rea de Industria LFA =trabajos en gobierno de Lourdes Flores en el rea de Agricultura LFC =trabajos en gobierno de Lourdes Flores en el rea de Comercio LFI =trabajos en gobierno de Lourdes Flores en el rea de Industria AGA =trabajos en gobierno de Alan Garca en el rea de Agricultura AGC =trabajos en gobierno de Alan Garca en el rea de Comercio AGI =trabajos en gobierno de Alan Garca en el rea de Industria

Procedimiento: Primero ingresaremos el nmero de fuentes de trabajo que promete cada candidato y segundo calcularemos los datos de salida que son las fuentes de trabajo en las respectivas tres reas de cada candidato: 1 Ingresar:

30

http://www.esisvirtual.com

Algoritmos codificados en C++


Cantidad de fuentes de trabajo en el gobierno de Alejandro Toledo (AT). Cantidad de fuentes de trabajo en el gobierno de Lourdes Flores (LF). Cantidad de fuentes de trabajo en el gobierno de Alan Garca (AG).

ndice

2 Trabajos en gobierno de Alejandro Toledo en el rea de Agricultura es el 20% de la cantidad de fuentes de trabajo en el gobierno de Alejandro Toledo: ATA= 2*AT/10

Trabajos en gobierno de Alejandro Toledo en el rea de Comercio es el 40% de la cantidad de fuentes de trabajo en el gobierno de Alejandro Toledo: ATC= AT*4/10

Trabajos en gobierno de Alejandro Toledo en el rea de Industria es el 40% de la cantidad de fuentes de trabajo en el gobierno de Alejandro Toledo: ATI= 4*AT/10

Trabajos en gobierno de Lourdes Flores en el rea de Agricultura es el 10% de la cantidad de fuentes de trabajo en el gobierno de Lourdes flores: LFA= LF/10

Trabajos en gobierno de Lourdes Flores en el rea de Comercio es el 20% de la cantidad de fuentes de trabajo en el gobierno de Lourdes flores: LFC= 2*LF/10

Trabajos en gobierno de Lourdes Flores en el rea de Industria es el 70% de la cantidad de fuentes de trabajo en el gobierno de Lourdes flores: LFI= 7*LF/10

Trabajos en gobierno de Alan Garca en el rea de Agricultura es el 40% de la cantidad de fuentes de trabajo en el gobierno de Alan Garca: AGA= 4*AG/10

Trabajos en gobierno de Alan Garca en el rea de Comercio es el 35% de la cantidad de fuentes de trabajo en el gobierno de Alan Garca: AGC= 35*AG/100

31

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Trabajos en gobierno de Alan Garca en el rea de Industria es el 25% de la cantidad de fuentes de trabajo en el gobierno de Alan Garca: AGI= 25*AG/100;

Diagrama de flujo:

INICIO

Leer AT,LF,AG

ATA= 2*AT/10; ATC= AT*4/10; ATI= 4*AT/10; LFA= LF/10; LFC= 2*LF/10; LFI= 7*LF/10; AGA= 4*AG/10; Escribir ATA, ATC, ATI, LFA, LFC, LFI, AGA, AGC, AGI AGC= 35*AG/100; AGI= 25*AG/100;
FIN

Cdigo: # include "conio.h" # include "iostream.h" void main () {

32

http://www.esisvirtual.com

Algoritmos codificados en C++


int AT,LF,AG,ATA,ATC,ATI,LFA,LFC,LFI,AGA,AGC,AGI; clrscr (); cout<< " CANTIDAD DE FUENTES DE TRABAJO EN EL GOBIERNO DE ALEJANDRO TOLEDO ";

ndice

cin>>AT; cout<< " CANTIDAD DE FUENTES DE TRABAJO EN EL GOBIERNO DE LOURDES FLORES "; cin>>LF; cout<< " CANTIDAD DE FUENTES DE TRABAJO EN EL GOBIERNO DE ALAN GARCIA "; cin>>AG; ATA= 2*AT/10; ATC= AT*4/10; ATI= 4*AT/10; LFA= LF/10; LFC= 2*LF/10; LFI= 7*LF/10; AGA= 4*AG/10; AGC= 35*AG/100; AGI= 25*AG/100; cout<< " trabajos en gobierno de Alejandro Toledo en el rea de Agricultura" cout <<ATA<<endl; cout<< " trabajos en gobierno de Alejandro Toledo en el rea de Comercio" cout <<ATC<<endl; cout<< " trabajos en gobierno de Alejandro Toledo en el rea de Industria " cout<<ATI<<endl<<endl; cout<< " trabajos en gobierno de Lourdes Flores en el rea de Agricultura"

33

http://www.esisvirtual.com

Algoritmos codificados en C++


cout <<LFA<<endl; cout<< " trabajos en gobierno de Lourdes Flores en el rea de Comercio" cout <<LFC<<endl;

ndice

cout<< " trabajos en gobierno de Lourdes Flores en el rea de Industria" cout <<LFI<<endl<<endl; cout<< " trabajos en gobierno de Alan Garca en el rea de Agricultura " cout <<AGA<<endl; cout<< " trabajos en gobierno de Alan Garca en el rea de Comercio " cout<<AGC<<endl; cout<< " trabajos en gobierno de Alan Garca en el rea de Industria " cout<<AGI<<endl; getch (); }

Problema 10

Enunciado: Un alumno de computacin Matemtica del Primer Ao desea saber cual ser su promedio general al final del ao en las tres materias ms difciles. Estas tres materias se evalan como se muestra: La calificacin de Matemtica: Examen terico (70%) Promedio de 2 practicas calificadas (30%) La calificacin de Algebra: Examen terico (80%)

34

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Promedio de 3 practicas calificadas (20%) La calificacin de Introduccin a la Computacin:

Examen terico (40%) Examen prctico (40%) Promedio de 2 trabajos prcticos (20%)

Despus de ingresar los datos, el formato de visualizacin de los resultados deber ser

RESUMEN DE NOTAS ============================================================== MATEMATICAS: EXAMEN TEORICO PROMEDIO DE PRACTICAS CALIFICADAS (nota) (nota)

------------------------------------------------------------------------------------------------PROMEDIO DEL CURSO (nota)

============================================================== ALGEBRA: EXAMEN TEORICO PROMEDIO DE PRACTICAS CALIFICADAS (nota) (nota)

------------------------------------------------------------------------------------------------PROMEDIO DEL CURSO (nota)

============================================================== INTRODUCION A LA COMPUTACION:

35

http://www.esisvirtual.com

Algoritmos codificados en C++


EXAMEN TEORICO EXAMEN PRCTICO (nota) (nota)

ndice

PROMEDIO DE 2 PRACTICAS CALIFICADAS

(nota)

------------------------------------------------------------------------------------------------PROMEDIO DEL CURSO (nota)

============================================================== PROMEDIO DE LOS TRES CURSOS MAS DIFICILES (nota)

==============================================================

Datos de entrada: MET= Examen terico M2P= Promedio de 2 practicas calificadas

AET= Examen terico A3P= Promedio de 3 practicas calificadas

IET= Examen terico IEP= Examen practico I2P= Promedio de 2 practicas calificadas

Datos de salida: MPC= Promedio del curso

36

http://www.esisvirtual.com

Algoritmos codificados en C++


APC= Promedio del curso IPC= Promedio del curso P3C= Promedio de los tres cursos mas difciles

ndice

Procedimiento: Para la visualizacin de las lneas de este formato utilizaremos una codificacin especial para este programa: cout<< " \n\n= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =\n\n"; \n: Permite saltar el cursor a la lnea siguiente para seguir escribiendo los datos \n\n: Al ser dos, permite saltar dos lneas mas abajo para seguir escribiendo los datos Posteriormente ingresamos los datos de cada curso: exmenes y promedios de prcticas, en estos multiplicaremos sus notas con sus respectivos porcentajes que son considerados a la hora de calcular los promedios de cada curso.

Diagrama de flujo:

INICIO

Leer MET, M2P, AET, A3P, IET, IEP, I2P

MPC= (MET+M2P)/2 APC= (AET+A3P)/2 IPC= (IET+IEP+I2P)/3 P3C= (MPC+APC+IPC)/3 Escribir MPC, APC, IPC, P3C

37

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

FIN

Codigo: # include "conio.h" # include "iostream.h" void main () { int MET,M2P,AET,A3P,IET,IEP,I2P,MPC,APC,IPC,P3C;

clrscr (); cout<< " RESUMEN DE NOTAS:\n\n "; cout<< "============================================= \n\n "; cout<< " MATEMATICAS:\n\n "; cout<< " cin>> MET; cout<< " cin>> M2P; cout<< " --------------------------------------- \n\n "; PROMEDIO DE 2 PRACTICAS CALIFICADAS "; EXAMEN TEORICO ";

MPC= (70*MET) /100+(30*M2P)/100; cout<< " PROMEDIO DEL CURSO "<< MPC;

cout<< " \n\n =============================================\n\n"; cout<< " ALGEBRA:\n\n ";

38

http://www.esisvirtual.com

Algoritmos codificados en C++


cout<< " cin>> AET; cout<< " PROMEDIO DE 3 PRACTICAS CALIFICADAS " ; EXAMEN TEORICO ";

ndice

cin>> A3P; cout<< " --------------------------------------- \n\n ";

APC= (80*AET)/100+ (20*A3P)/100; cout<< " PROMEDIO DEL CURSO "<< APC;

cout<< " \n\n =============================================\n\n"; cout<< " INTRODUCION A LA COMPUTACION :\n\n "; cout<< " cin>> IET; cout<< " cin>> IEP; cout<< " cin>> I2P; cout<< " --------------------------------------- \n\n "; PROMEDIO DE 2 PRACTICAS CALIFICADAS " ; EXAMEN PRACTICO "; EXAMEN TEORICO ";

IPC= (40*IET)/100+ (40*IEP)/100+ (20*I2P)/100; cout<< " PROMEDIO DEL CURSO "<< IPC;

P3C= (MPC+APC+IPC)/3;

cout<< "\n\n ============================================= \n\n "; cout<< " PROMEDIO DE LOS TRES CURSOS MAS DIFICILES "<<P3C; cout<< "\n\n ============================================= \n\n ";

39

http://www.esisvirtual.com

Algoritmos codificados en C++


getch (); }

ndice

Problema 11

Enunciado: Calcular el mayor de 3 nmeros;

Datos de entrada: a,b,c = los tres nmeros a comparar.

Datos de salida: Visualizar el mayor de los 3.

Diagrama de flujo:

INICIO

Leer a,b,c

F
if a>b

if

if

b>c
Escribir c Escribir b escribir c

a>c
Escribir a

40

http://www.esisvirtual.com
FIN

Algoritmos codificados en C++

ndice

Codigo:

#include <iostream.h> #include <conio.h> void main(void) {int a,b,c; clrscr (); cout<<" El primer numero es: "; cin>> a; cout<<" El segundo numero es: "; cin >> b; cout<<" EL tercer numero es: "; cin >> c; if (a>b) { if (a>c) cout<<" el numero mayor es: "<<a; else cout<<" el numero mayor es: <<c; } else {

41

http://www.esisvirtual.com

Algoritmos codificados en C++


if (b>c) cout<<"el numero mayor es: "<<b;

ndice

else cout<<"el numero mayor es: "<<c; } getch (); }

Problema 12

Enunciado: En una tienda de accesortios para PCs , se hace un descuento por la compra de CDs de acuerdo a la sgte tabla: Marca - 3M - NCR - Sentinel - Golstar Calcular el total a pagar por la compra. Datos de entrada: c = costo de cada cd k = cantidad de cds m = marca Datos de salida: t = total a pagar por la compra Descuento 10% 15% 20% 30%

42

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:
INICIO

Leer c,k,m

p = c*k

F F
if m==n

if V m==3

V
t=p-(0.1*p)

F
if m==s

t=p-(0.15*p)

if m==g

V
t=p-(0.3*p)

t=p-(0.2*p)

Escribir t
FIN

Cdigo:

43

http://www.esisvirtual.com

Algoritmos codificados en C++


#include <iostream.h> #include <conio.h>

ndice

void main(void) { int c,k,p,t; char m; clrscr (); cout<<" ingrese el costo de cada cd: "; cin>> c; cout<<" ingrese la cantidad de cd's: "; cin>> k; cout<<" INGRESE LA MARCA DE CD`s "<<endl; cout<<" 3M(3) NCR(n) Sentinel(s) Golstar(g) : "; cin >> m; p=c*k; if (m==3) t=p-(0.1*p); else { if (m=='n') t=p-(0.15*p); else { if (m=='s')

44

http://www.esisvirtual.com

Algoritmos codificados en C++


t=p-(0.2*p); else {

ndice

if(m=='g') t=c-c*30/100; else cout<<"no es la marca en promocion"; } } } cout<< "el total a pagar por la compra sera: " << t; getch (); }

Problema 13

Enunciado: En un juego de preguntas a la que se responde si o no gana quien responda correctamente las 3 preguntas. Si responde mal cualquiera de ellas ya no se pregunta la siguiente y termina el juego. Las preguntas son: a. Colon descubri Amrica? b. El aniversario de Tacna es el 28 de agosto? c. Tacna es la Ciudad blanca?

Datos de entrada:

45

http://www.esisvirtual.com

Algoritmos codificados en C++


s = si ; n = no.

ndice

Datos de salida: Visualizar si el participante gano o perdi el juego. Diagrama de flujo:

INICIO
Escribir:Colon descubrio

America Leer r1
F
if r1==s

Escribir:Usted perdio el juego

Escribir:el aniversario de Tacna es el 28 Leer r2 de Agosto

V
if r2==s

Escribir:Usted perdio el juego


F

Escribir:Tacna es la ciudad blanca


Leer r3 V
if r3==n

Escribir:Ud perdio el juego

Escribir:Ud gano el juego

46

http://www.esisvirtual.com

FIN

Algoritmos codificados en C++

ndice

Cdigo: #include <iostream.h> #include <conio.h> void main(void) { char r1,r2,r3; clrscr( ); cout<<"JUEGO DE PREGUNTAS (S/N)"<<endl; cout<<endl; cout<<"Colon descubrio America?"<<endl; cin>>r1; if(r1=='s'||r1=='S') { cout<<"El aniversario de Tacna es el 28 de agosto?"<<endl; cin>>r2; if(r2=='s'||r2=='S') { cout<<"Tacna es la ciudad blanca?"<<endl; cin>>r3; if(r3=='n'||r3=='N') cout<<"Usted Gano el Juego";

47

http://www.esisvirtual.com

Algoritmos codificados en C++


else cout<<"Usted Perdio el Juego:"; }

ndice

else cout<<"Usted Perdio el Juego"; } else cout<<"Usted Perdio el Juego"; getch( ); }

Problema 14

Enunciado: A un programa se ingresan los nombres y goles de 3 equipos, determinar el equipo campen de acuerdo al mayor nmero de goles.

Datos de entrada: e1, e2, e3: nombres de los tres equipos (1,2,3 respectivamente) g1, g2, g3: goles de cada equipo (1,2,3 respectivamente)

Datos de salida: Visualizar al equipo ganador y el nmero de goles anotados.

48

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

INICIO

Leer e1,g1

Leer e2,g2

Leer e3,g3

F if g1>g2 F if g2>g3 V F

if g1>g3

Escribir e3,g3

Escribir e2,g2

Escribir e3,g3

Escribir e1,g1

49

http://www.esisvirtual.com FIN

Algoritmos codificados en C++

ndice

Cdigo: #include <conio.h> #include <iostream.h>

void main( ) { int g1,g2,g3; char e1[30],e2[30],e3[30]; clrscr( ); cout<<"nombre del primer equipo:"<<endl; cin>>e1; cout<<"ingrese la cantidad de goles anotados: "; cin>>g1; cout<<endl; cout<<"nombre del segundo equipo:"<<endl; cin>>e2; cout<<"ingrese la cantidad de goles anotados: "; cin>>g2; cout<<endl; cout<<"nombre del tercer equipo:"<<endl; cin>>e3;

50

http://www.esisvirtual.com

Algoritmos codificados en C++


cout<<"ingrese la cantidad de goles anotados: "; cin>>g3;

ndice

if(g1>g2) { if(g1>g3) cout<<"GANO el equipo "<<e1<<" con "<<g1<<" goles"; else cout<<"GANO el equipo "<<e3<<" con "<<g3<<" goles"; } else { if(g2>g3) cout<<"GANO el equipo "<<e2<<" con "<<g2<<" goles"; else cout<<"GANO el equipo "<<e3<<" con "<<g3<<" goles"; } getch( ); }

Problema 15

Enunciado:

51

http://www.esisvirtual.com

Algoritmos codificados en C++


En una tienda de computadoras se hace una promocin, donde el cliente obtiene un descuento que depende de un nmero que escoge al azar. Si el numero escogido es menor que 60, el descuento ser el 30%, y si el nmero es mayor o igual a 60 el descuento ser el 50%. Calcular el descuento y el monto final a pagar.

ndice

Datos de entrada: n:numero de suerte p: precio a gastar

Datos de salida: Pf: precio final a pagar

Diagrama de flujo:

Inicio

Leer n,p

F d=p-0.5*p

If
N>=60

V d=p-0.3*p

Escribir

Escribir d

Pf=p-d

Escribir pf Fin

52

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Codigo: # include <conio.h> # include <iostream.h> void main (void) {int n,p,pf,d; clrscr(); cout<<"DESCUENTO POR SUERTE"<<endl<<endl; cout<<"====================\n\n"; cout<<"INGRESE EL NUMERO SUERTE : "; cin>>n; cout<<"PRECIO A GASTAR ES : "; cin>>p; {if(n>=60) {d=p*5/10;} else {d=p*3/10;} } pf=p-d; cout<<"EL PRECIO A FINAL A PAGAR ES : "<<pf<<endl ; getch();

53

http://www.esisvirtual.com

Algoritmos codificados en C++


}

ndice

Problema 16

Enunciado: Determinar el salario bruto y neto mensual de un trabajador considerando que si se trabaja ms de 40 horas, el exceso ser considerado como horas extras cuya tarifa normal. Adems, el trabajador se somete a un impuesto del 10% si su salario bruto sobrepasa los S/. 250.00.

Datos de entrada: s:salario normal h:cantidad de horas trabajadas

Datos de salida: sb : salario bruto sn :nuevo salario

54

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

Inicio

Leer nh,s

If
nh<40

V he=nh-40
sb=s+3/2*he*(s/40)

s=sb

F s=sn

If
sb>250

V sn=sb-0.1*sb

Escribir sn,sb

Fin

Codigo:

55

http://www.esisvirtual.com

Algoritmos codificados en C++


# include <conio.h> # include <iostream.h> void main (void) {int s,h,sb,sn;

ndice

clrscr(); cout<<"SALARIO MENSUAL"<<endl<<endl; cout<<"=========================\n\n"; cout<<"INGRESE EL SALARIO NORMAL : "; cin>>s; cout<<"INGRESE CANTIDAD DE HORAS TRABAJADAS : "; cin>>h; { if(h>40) {sb=s+s*5/10;} else {sb=s;} { if(sb>250) {sn=sb-sb*1/10;} else {sn=sb;} } cout<<"el salario bruto es : "<<sb<<endl ; cout<<"el nuevo salario es : "<<sn<<endl ; } getch();

56

http://www.esisvirtual.com

Algoritmos codificados en C++


}

ndice

Problema 17

Enunciado: El gobierno peruano desea reforestar un bosque que mide un determinado nmero de hectreas. Si la superficie excede a milln de metros cuadrados, entonces decidir sembrar de la siguiente manera: Porcentaje de superficie del bosque 60% 20% 20% Tipo de rbol Pino Oyamel Cedro

Si la superficie es menor o igual a 1 milln de metros cuadrados, entonces decidir sembrar de la siguiente manera: Porcentaje de superficie del bosque 50% 20% 30% Tipo de rbol Pino Oyamel Cedro

El gobierno desea saber el nmero de pinos, oyameles y cedros que tendr que sembrar en el bosque, si sabe que en 10 metros cuadrados se puede reforestar 8 pinos, en 15 metros cuadrados se puede reforestar 15 oyameles y en 18 metros cuadrados se puede reforestar 10 cedros. Tambin se sabe que una hectrea equivale a 10 mil metros cuadrados.

57

http://www.esisvirtual.com

Algoritmos codificados en C++


Datos de entrada: nh: cantidad de rea a reforestar

ndice

Datos de salida: np :cantidad de arboles de pino no : cantidad de arboles de oyameles nc : cantidad de arboles de cedro

Diagrama de flujo:

Inicio

Leer nh

V
p=nh*6/10 o=nh*2/10 c=nh*2/10

If
nh>100000 0

F
p=nh*5/10 o=nh*2/10 c=nh*3/10

np=p*8/10 no=o nc=c*10/18

Escribir np,no,nc

Fin

58

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: # include <conio.h> # include <iostream.h> void main (void) {float a,ap,nh,nc,no,np,p,o,c; clrscr(); cout<<"REFORESTACION DE ARBOLES"<<endl<<endl; cout<<"========================\n\n"; cout<<"INGRESE NUMERO DE AREAS A REFORESTAR : "; cin>>nh; {if(nh>1000000) {p=a*6/10; o=a*2/10 ; c=a*2/10;} else {p=a*5/10; o=a*2/10 ; c=a*3/10;} } np=8*p/10;

59

http://www.esisvirtual.com

Algoritmos codificados en C++


no=o; nc=10*c/18; cout<<"CANTIDAD DE AROBLES DE PINOS ES : "<<np<<endl ; cout<<"CANTIDAD DE AROBLES DE OYAMELES ES : "<<no<<endl ;

ndice

cout<<"CANTIDAD DE AROBLES DE CEDROS ES : "<<nc<<endl ; getch(); }

Problema 18

Enunciado: Calcular el menor de cuatro nmeros

Datos de entrada: a:primer numero b:segundo numero c:tercer numero d:cuarto numero

Datos de salida: El menor nmero es

60

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

Inicio Leer a,b,c,d

If a<b

If a<c

If b<c

If a<d

If c<d

If b<d

If c<d

Escribir a

Escribir d

Escribir c

Escribir d

Escribir b

Escribir d

Escribir c

Escribir d

Fin

Cdigo: #include "iostream.h"

61

http://www.esisvirtual.com

Algoritmos codificados en C++


#include "conio.h" void main() { int a , b , c,d ; clrscr();

ndice

cout<<"EL MENOR DE CUATRO NUMEROS "<<endl<<endl; cout<<"========================\n\n"; cout<<" Ingrese primer numero : "; cin>>a; cout<<" Ingrese segundo numero : "; cin>>b; cout<<" Ingrese tercer numero : "; cin>>c; cout<<" Ingrese cuarto numero : "; cin>>d; if (a<b) {if (a<c) {if (a<d) {cout<<"el menor numero es : "<<a;} else {cout<<"el menor numero es : "<<d;} } else {if(c<d) {cout<<"el menor numero es : "<<c;}

62

http://www.esisvirtual.com

Algoritmos codificados en C++


else {cout<<"el menor numero es : "<<d;} }} else

ndice

{ if (b<c) { if (b<d) {cout<<"el menor numero es : "<<b;} else {cout<<"el menor numero es : "<<d;} } else {if(c<d) {cout<<"el menor numero es : "<<c;} else {cout<<"el menor numero es : "<<d;} } } getch(); }

63

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Estructura selectiva mltiple _________________________________________________


Permite evaluar varias alternativas y realizar el proceso si cumple con la condicin.

Problema 19

Enunciado: En una tienda de accesorios para computadoras se hace un descuento por la compra realizada: (a)Pentium I 50% de descuento (b)Pentium II 25% de descuento (c)Pentium III 10% de descuento (d)Pentium IV 10% de descuento Disear el diagrama de flujo y programa que calcule el precio neto a pagar por la compra.

Datos de entrada: c = Monto real de los accesorios. p = Pentium de la PC.

64

http://www.esisvirtual.com

Algoritmos codificados en C++


Datos de salida: pn = El precio neto a pagar por los accesorios

ndice

Diagrama de flujo:

INICIO

Leer c,p

case 1

case 2

case 3,4

deffault

pn=c-(0.5*c)

pn=c-(0.25*c)

pn=c-(0.1*c)

pn=c

Escribir: pn

FIN

Cdigo: #include <conio.h> #include <iostream.h>

65

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

void main(void) { int c,p,pn;

clrscr( ); cout<<"ingrese el monto real de los accesorios: "; cin>>c; cout<<"ingrese el pentium de la pc: "; cin>>p; switch(p) { case 1: pn=c-(0.5*c); break; case 2: pn=c-(0.25*c); break; case 3: pn=c-(0.1*c); break; case 4: pn=c-(0.1*c); break; default: cout<<"la pentium ingresada no esta en promocion por lo tanto"<<endl; pn=c ; break; } cout<<"el precio neto a pagar por los accesorios es: ";

66

http://www.esisvirtual.com

Algoritmos codificados en C++


cout<<pn; getch( ); }

ndice

Problema 19

Enunciado: El PRONAA implementado un programa social para repartir un subsidio bajo las siguientes Especificaciones: -Si la familia tiene hasta 3 hijos, recibirn S/.30.00 por cada hijo. -Si la familia tiene mas de tres hijos recibirn s/.100.00 -Si la madre de familia es divorciada, recibirn S/.25.00 adicionales. Calcular el monto que recibir una familia.

Datos de entrada: h = nmero de hijos. d = caso si la madre es divorciada o no.

Datos de salida: m = El monto que recibir la madre

67

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

INICIO Leer h,d

case si

case no

F
if h>3

F
if h>3

m=(h*30)+25

m=125

m=h*30

m=100

Escribir m FIN

Codigo:

68

http://www.esisvirtual.com

Algoritmos codificados en C++


#include <conio.h> #include <iostream.h> void main( void ) {int m,h;

ndice

char d; clrscr( ); cout<<"ingrese el numero de hijos: "; cin>>h; cout<<"es divorsiada o no?(escribir "si" o "no"): "; cin>>d; switch(d) { case'si':if(h>3) m=125; else m=(h*30)+25; break; case'no':if(h>3) m=100; else m=h*30; break; } cout<<"el monto que recibira la madre es de: "; cout<<m;

69

http://www.esisvirtual.com

Algoritmos codificados en C++


getch( ); }

ndice

Problema 20

Enunciado: Calcular la utilidad que recibir un trabajador respecto a las bonificaciones anuales que se asignan al final del Ao. Esta utilidad esta en base a su servicio: Tiempo Menos de 1 ao 1 ao o ms o menos 3 aos 3 aos o ms o menos de 7 aos 7 aos o ms o menos de 10 aos 10 aos a ms aos Utilidad 15% del salario 20% del salario 25% del salario 30% del salario 45% del salario

Datos de entrada: s = Salario t = Aos de servicio

datos de salida: u = La utilidad

70

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

INICIO Leer s,t

case a

case b

case c

case d

case e

default

u=0.15*s

u=0.2*s

u=0.25*s

u=0.3*s

u=0.45*s

Escribir:

Escribir u

FIN

Cdigo: #include <conio.h> #include <iostream.h> void main(void) { int s,u; char t;

71

http://www.esisvirtual.com

Algoritmos codificados en C++


clrscr( ); cout<<"ingrese el salario: "; cin>>s; cout<<endl;

ndice

cout<<"ingrese los aos de servicio: "<<endl; cout<<"a:menor de 1 anio b:de 1 a menos de 3 anios c:de 3 a menos de 7 anios"<<endl; cout<<"d:de 7 a menos de 10 anios e:de 10 anios a mas"<<endl; cin>>t; switch(t) { case'a': u=0.15*s; break; case'b': u=0.2*s; break; case'c': u=0.25*s; break; case'd': u=0.3*s; break; case'e': u=0.45*s; break; default: cout<<" "; break; } cout<<"la utilida es:"; cout<<u;

72

http://www.esisvirtual.com

Algoritmos codificados en C++


getch( ); }

ndice

Problema 21

Enunciado: En una tienda comercial se efecta una promocin sobre el valor de la compra tota, segn el color de bolita que saque el cliente; si la bolita es de color rojo se har un descuento del 35%, si la bolita es de color verde se har un descuento del 15%, si la bolita es de color amarillo se ha r un descuento del 25%, si la bolita es de color negro se har un descuento del 80%, la bolita es de color blanco se har un descuento del 100%. Se sabe que solo existe bolitas de los colores indicados.

Datos de entrada: p:precio a pagar color :color de la bola

Datos de salida: pf: precio final a pagar

73

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

Inicio

Leer cb,pc

C
cb
rojo pf=pc-0.35*pc

verde
pf=pc-0.2*pc

amarillo pf=pc-0.15*pc

negro pf=pc-0.25*pc

blanco
pf=0

Escribir pf

Fin

Codigo: # include <conio.h> # include <iostream.h>

74

http://www.esisvirtual.com

Algoritmos codificados en C++


void main (void) { int p,pf,d; char color;

ndice

clrscr(); cout<<"DESCUENTOS POR SUERTE "<<endl<<endl; cout<<"=====================\n\n";

cout<<"ingrese el precio a pagar "; cin>>p; cout<<"ingrese el color de la bola" ; cout<<"amarillo,rojo,verde,violeta,negro,blanco : \n\n "; cin>>color; switch (color) { case 'amarillo': d=p*35/100; break; case 'rojo': d=p*2/10; break; case 'verde': pg=p-p*15/100; break;

75

http://www.esisvirtual.com

Algoritmos codificados en C++


case 'violeta': d=p*25/100; break; case 'negro':

ndice

d=p*8/10; cout<<"el precio final a gastar es : "<<pg<<endl ; break; case 'blanco':

d=p*1;

break; } pf=p-d; cout<<"el precio final a gastar es : "<<pf<<endl ; getch(); }

Problema 22

Enunciado: Disear un programa que lea un nmero y visualice dicho nmero en romanos. Datos de entrada: n = Numero a visualizar en romanos.

76

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Datos de salida: Visualizar dicho nmero en romanos

Diagrama de flujo:

INICIO Leer n

F
if n<=9

d=n/10 u=n%10

case n

F
c=n/100 d=(n%100)/10 u=(n%100)%10 case m case b case a

if n<=100

V
case d case u

FIN

77

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

case n

C n

1
Esc: I Esc: II

2
Esc: III

3
Esc:IV

5
Esc:V

6
Esc:VI

7
Esc:VII

8
Esc:VIII

9
Esc:IX

case d C d
1

Esc: X

Esc: XX

Esc: XXX

Esc:XL

Esc:L

Esc:LX

Esc:LXX

Esc:LXXX

Esc:XC

case m C m
1

10

Esc: C

Esc: CC

Esc: CCC

Esc:CD

Esc:D

Esc:DC

Esc:DC C

Esc:DCC C

Esc:CM

Esc:M

78

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

case u

C u

Esc: I

Esc: II

Esc: III

Esc:IV

Esc:V

Esc:VI

Esc:VII

Esc:VIII

Esc:IX

case b

C b

Esc: X

Esc: XX

Esc: XXX

Esc:XL

Esc:L

Esc:LX

Esc:LXX

Esc:LXXX

Esc:XC

case a

C a

2
Esc: II 79

Esc: I

http://www.esisvirtual.com Esc: III Esc:IV

Esc:V

Esc:VI

Esc:VII

Esc:VIII

Esc:IX

Algoritmos codificados en C++

ndice

Cdigo: #include <stdio.h> #include <conio.h> #include <iostream.h> void main(void) { int n; char u; char d; char c; char m; char b; char a; clrscr(); printf("escribir un numero en para que te de en romanos."); cout<<"Ingrese un nmero : "; cin>>n; if (n<=9) {switch(n) {case 1: cout<<endl<<"I";break;

80

http://www.esisvirtual.com

Algoritmos codificados en C++


case 2: cout<<endl<<"II";break; case 3: cout<<endl<<"III";break; case 4: cout<<endl<<"IV";break; case 5: cout<<endl<<"V";break;

ndice

case 6: cout<<endl<<"VI";break; case 7: cout<<endl<<"VII";break; case 8: cout<<endl<<"VIII";break; case 9: cout<<endl<<"IX";break;

} } else { d=n/10; u=n%10; if (n<100) {switch(d) {case 1: cout<<endl<<"X"; break; case 2: cout<<endl<<"XX"; break; case 3: cout<<endl<<"XXX";break; case 4: cout<<endl<<"XL";break; case 5: cout<<endl<<"L";break; case 6: cout<<endl<<"LX ";break; case 7: cout<<endl<<"LXX";break;

81

http://www.esisvirtual.com

Algoritmos codificados en C++


case 8: cout<<endl<<"LXXX";break; case 9: cout<<endl<<"XC";break;

ndice

} switch (u) {case 1: cout<<"I";break; case 2: cout<<"II";break; case 3: cout<<"III";break; case 4: cout<<"IV";break; case 5: cout<<"V";break; case 6: cout<<"VI";break; case 7: cout<<"VII";break; case 8: cout<<"VIII";break; case 9: cout<<"IX";break; default: cout<<" ";break; } } else {m=n/100; b=(n%100)/10; a=(n%100)%10; switch(m) {case 1: cout<<endl<<"C"; break;

82

http://www.esisvirtual.com

Algoritmos codificados en C++


case 2: cout<<endl<<"CC"; break; case 3: cout<<endl<<"CCC";break; case 4: cout<<endl<<"CD";break; case 5: cout<<endl<<"D";break;

ndice

case 6: cout<<endl<<"DC ";break; case 7: cout<<endl<<"DCC";break; case 8: cout<<endl<<"DCCC";break; case 9: cout<<endl<<"CM";break; case 10: cout<<endl<<"M";break; } switch(b) {case 1: cout<<"X"; break; case 2: cout<<"XX"; break; case 3: cout<<"XXX";break; case 4: cout<<"XL";break; case 5: cout<<"L";break; case 6: cout<<"LX ";break; case 7: cout<<"LXX";break; case 8: cout<<"LXXX";break; case 9: cout<<"XC";break; default: cout<<"";break; } switch (a) {case 1: cout<<"I";break;

83

http://www.esisvirtual.com

Algoritmos codificados en C++


case 2: cout<<"II";break; case 3: cout<<"III";break; case 4: cout<<"IV";break; case 5: cout<<"V";break;

ndice

case 6: cout<<"VI";break; case 7: cout<<"VII";break; case 8: cout<<"VIII";break; case 9: cout<<"IX";break; default: cout<<" ";break; }

} } getch(); }

84

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Estructura repetitiva mientras _________________________________________________


Muchas veces se requieren repetir una o varias instrucciones para llevar a cabo una tarea, en la programacin se cuenta con estructuras que permiten realizar este proceso, llamados tambin bucles, iterativas, lazos entre otros. Dependiendo del lenguaje de programacin, estas incorporan dos o mas estructuras repetitivas, dentro de las cuales las infaltables son mientras (while) y para (for), con las cuales se puede resolver todo problema que involucre procesos repetitivos. Cuando se trabaja con estas estructuras se utiliza trminos como contadores, acumuladores, forzar la salida del bucle y continuar al inicio del bucle.

Problema 23

Enunciado: En el museo de arte un estudiante desea determinar para cierto da, el promedio de edad as como el nmero de visitantes por sexo para lo cual anota, desde que sea abre las puertas hasta el cierre de las mismas, el sexo (H, M) y la edad de cada visitante. Al final del da dicho estudiante ingresa la letra (s) como sexo para dar por terminado su proceso y mostrar los resultados requeridos. Datos de entrada Sexo (sex) Edad (ed)

85

http://www.esisvirtual.com

Algoritmos codificados en C++


Datos de salida Promedio edad (prmed) Nmero de hombres (nh) Nmero de mujeres (nm)

ndice

Diagrama de flujo:
Inicio

Leer sex Si Sex!=s

V Si Sex=H

F nm=nm+ 1

nh=nh + 1

Leer ed

sum=sum + ed

w sex!=s

prmed =sum /(nh + nm) Escribir nh,nm,promed Fin

Codificacin
#include "iostream.h" #include "conio.h"

86

http://www.esisvirtual.com

Algoritmos codificados en C++


void main (void) { int nh,ed,nm,prmed, sum; clrscr();

ndice

char sex; nh=0; nm=0; sum=0; do { cout<<"Ingrese sexo"; cin>>sex; if (sex!='s') { if (sex=='H') { nh =nh + 1;} else {nm=nm+1;} cout<<"Ingrese edad"; cin>>ed; sum= sum + ed; } } while(sex!='s'); prmed = sum/(nh+nm); cout<<"Numero de hombres " << nh<<endl; cout<<"Numero de mujeres "<< nm<<endl; cout<<"Promedio edad"<<prmed; getch();

87

http://www.esisvirtual.com

Algoritmos codificados en C++


}

ndice

Problema 24

Enunciado: Mostrar los resultados de las cuatro operaciones aritmticas: suma, resta, multiplicacin, divisin; para 2 nmeros cualquiera y en un proceso repetitivo que termina cuando ambos nmeros sean CERO. Recuerde que o se debe dividir por cero y si se fuera el caso dar el mensaje correspondiente.

Datos de entrada Nmeros (n1,n2)

Datos de salida Suma (s) Resta (r) Multiplicacin (m) Divisin (d)

Diagrama de flujo:

88

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio

ndice

Leer x,y

Si x=0

V Si y=0

F Sum= x+y Res= x-y Mult= x*y Div=x/y

Si y=0

F Sum= x+y Res= x-y Mult= x*y Div=x/y

Sum= x+y Res= x-y Mult= x*y

V Escribir Sum, res, mult,div Escribir Sum, res, mult Escribir Sum, res, mult,div

Escribir division indeterminada

W x!=0 && y!=0

Fin

Cdigo:
include "iostream.h" #include "conio.h" void main (void) { int x,y,sum,res,div,mult; clrscr();

89

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

do { cin>>x; cin>>y; if (x==0) { if (y==0) { else { sum=x+y; cout<<sum; cout<<endl; res=x-y; cout<<res; cout<<endl; div=x/y; cout<<div; cout<<endl; mult=x*y;cout<<mult; } } else { if (y==0) { sum=x+y; cout<<sum; cout<<endl; res=x-y; cout<<res; cout<<endl; cout<<endl<<"Division indeterminada"; cout<<endl; mult=x*y; cout<<mult; } }

else { sum=x+y; cout<<sum; cout<<endl; res=x-y; cout<<res; cout<<endl; div= x/y; cout<<div; cout<<endl;

90

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

mult=x*y; cout<<mult; } while (x!=0 && y!=0); getch(); }

Problema 25

Enunciado: Mostrar los N primeros trminos de la siguiente serie, donde N debe estar entre 5 y 30: 5, 7, 10, 14, 19, Datos de entrada Nmero de trminos (N)

Datos de salida Visualizar serie

Diagrama de flujo:

91

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio

ndice

Leer n

W n<5 || n>30

k=1 i=1 Ini=5

Escribir ini i=i+1 Ini= ini + i k =k+1

W k<=n

Fin

Codigo: #include "iostream.h" #include "conio.h" void main(void) { int i,n,ini,k; clrscr();

92

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

do { cin>>n; } while (n<5 || n>30);

k=1; i=1 ; ini=5;

do {

cout<<ini<<" "; i=i+1; ini=ini+i; k=k+1; } while (k<=n); getch(); }

Problema 26

Enunciado: Ingresar 10 nmeros enteros, entre 0 y 20, que representen notas de un curso para un alumno y mostrar el promedio que obtiene.

93

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Datos de entrada Nota (n)

Datos de salida Promedio (prom)

Diagrama de flujo:
Inicio

sum=0 k=0

Leer n

W n<0 || n>20

sum=sum+n k=k+1

W K<=10

prom=sum/10

Escribir prom

Fin

94

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include "iostream.h" #include "conio.h" void main(void) { int n,prom,sum,k; clrscr(); sum=0; k=1; do { do { cin>>n; } while (n<0 || n>20 ); sum=sum+ n; k=k+1; }while (k<=10); prom= sum/10; cout<<prom; getch(); }

Problema 27

Enunciado: Determinar la suma de los N primeros nmeros impares.

95

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Datos de entrada:

N: Numero de trminos

Datos de salida:

S: Suma de los impares

Diagrama de flujo:
Inicio

Leer n

s=0

i=1

W i<=n V If i mod 2!=0

s = s+1

i=i+1

Escribir s

Fin

96

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo:

#include <conio.h> #include <iostream.h> void main () { Int N, S, I; clrscr(); cout<<Ingresar el numero de trminos: ; cin>>N; S = 0; I = 1; while (I <= N) { if (I mod 2 =0) { S = S + I; } I = I + 1; } cout<<La suma es: <<S; getch(); }

Problema 28

Enunciado: Determinar la suma de los N primeros trminos de la siguiente serie. 1/2 + 1/4 + 1/6

Datos de entrada:

N: Numero de trminos

97

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Datos de salida:

S: Suma de los pares invertidos

Diagrama de flujo:
Inicio

Leer n

s=0

par=2

i=1

W i<=n V s=s + 1/par

par=par+2 F

i=i+1

Escribir s

Fin

98

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo:

#include <conio.h> #include <iostream.h> void main () { Float S; Int N, par, I; clrscr(); cout<<Ingresar un numero entero: ; cin>>N; S = 0; Par = 2; I = 1; while (I <= N,I++) { S= S + 1/par; Par = par + 2; } cout<<La suma es: <<S; getch(); }

99

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Estructura repetitiva para _________________________________________________


Cada vez que requiere repetir un proceso una cantidad de veces, deber usar la estructura repetitiva para (for) que facilita realizar en forma simple este trabajo. Esta estructura usa una variable contador donde se establece el valor inicial (vi), valor final (vf) y el valor de incremento (inc), que determina las veces a repetir la instruccin.

Problema 29

Enunciado: Mostrar todos los divisores de un nmero entero. Si el nmero solo tiene por divisores al 1 y a si mismo, mostrar mensaje Nmero primo.

Datos de entrada Nmero (num)

Datos de salida Visualizar divisores

Diagrama de flujo:

100

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Inicio

Leer n

k=0

i=1 n

If n%i=0

v k=k+1

Escribir i

If k=2

V Escribir primo

Fin

Cdigo:
#include "iostream.h" #include "conio.h" void main(void) { int k,i,n; clrscr(); cin>>n;

101

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

k=0; for (i=1;i<=n;i++) { if (n%i==0) {cout<<endl; cout<<i; k=k+1; } if (k==2) { cout<<"Numero primo"; } getch(); } }

Problema 30

Enunciado: Ingresar 15 notas y determinar el promedio, la mxima y mnima nota. Datos de entrada Notas (not) Datos de salida Promedio (prom) Mxima nota (notmax) Mnima nota (notmin)

102

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo:

Inicio

sum=0 max=0 min= 20

i=1 15

Leer not

If not>max

max = not

If not<min

min= not F

sum =sum + not

prom = sum/15

Escribir prom, max,min

Fin

103

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo:
#include "iostream.h" #include "conio.h" void main(void) { float sum, max, min, prom, i, not; clrscr(); sum=0; max=0; min=20; for(i=1;i<=15;i++) { cin>>not; if (not>max) { max=not;} if (not<min) { min=not;} sum=sum+not; } prom=sum/15; cout<<prom; cout<<endl; cout<<max; cout<<endl; cout<<min; getch(); }

104

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Problema 31

Enunciado: Mostrar los 20 primeros trminos de la siguiente serie, determinando adems la suma de ellos: 7, 10, 13, 16, 19,

Datos de salida Suma (sum)

Diagrama de flujo:

Inicio

sum=0 ini=7 i=1 20 Escribir ini sum= sum + ini Ini= ini +3

Escribir sum

Fin

105

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include "iostream.h" #include "conio.h" void main(void) { int ini,suma,i; clrscr(); suma=0; ini=7; for(i=1;i<=20;i++) { cout<<ini; suma= suma + ini; ini = ini +3; } cout<<suma; getch(); }

Problema 32

Enunciado: Mostrar la tabla de multiplicar del 1 al 18 para cualquier nmero.

Datos de entrada Nmero (num)

106

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Datos de salida Visualizar tabla

Diagrama de flujo:

Inicio

Leer n

i=1 18

Rpta= i*n

Escribir rpta

Fin

Cdigo: #include "iostream.h" #include "conio.h" void main(void) { int n,i,rpta; clrscr();

107

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

cin>>n; for (i=1;i<=18;i++) { rpta = i* n; cout<<endl; cout<<n<<" x "<<i<<" = "<<rpta; } getch(); }

Problema 33

Enunciado: Hallar el resultado de una potencia con una base y exponente dada.

Datos de entrada b:base e:exponente

Datos de salida

r: resultado

Diagrama de flujo:

108

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Inicio

Leer b,e

t=1 i=1e

t=t*b

Esciribr t

Fin

cdigo:

#include iostream.h #include conio.h void main (void) { int b,e,I; clrscr(); cout<<Ingrese base ; cin>>b; cout<<Ingrese exponente; cin>>e; t=1; for (i=1;i<=e;i++) { t=t*b;} cout<<El resultado es <<t; getch(); }

109

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Problema 34

Enunciado: Halla si un nmero es perfecto o no, se dice que un numero es perfecto si la suma de sus divisores es igual al nmero. Datos de entrada n: numero

Datos de salida Visualizar si es perfecto o no.

Diagrama de flujo:
Inicio

Leer n

t=0 i=1n

Si n mod i =0

t=t+i F

F Escribir El numero no es perfecto

Si n=t

V Escribir El numero es perfecto

Fin

110

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include iostream.h #include conio.h void main(void) { int t,n,i clrscr(); cout<<Ingrese numero ; cin>>n; t=0; for ( i=1;i<=n;i++) { If (nmodi==0) {t=t +i;} else {} } If (t==n) { cout<<El numero es perfectoelse ,cout<<El numero no es perfectogetch(); }

111

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Estructura de datos arreglos (vectores y matrices) _________________________________________________


En muchas situaciones se necesita procesar una coleccin de datos que estas relacionados entre si, por ejemplo la lista de notas de los alumnos, los participantes de una carrera deportiva, etc. Procesar ese conjunto de datos en forma independiente con variables simples (primitivas), es tremendamente difcil es por eso que los leguajes de programacin incorporan un mecanismo que facilita la manipulacin y organizacin para una coleccin de datos llamada estructura de datos. Para explicar todo lo relacionado a estructura de datos se necesita escribir todo un libro que detalle los temas involucrados, para este captulo solo se est considerando una parte bsica e importante en la estructura de datos llamada array (arreglo).

Problema 35

Enunciado: Hacer un algoritmo que llene una matriz de 10*10 y determine la posicin [rengln columna] del nmero mayor almacenado en la matriz. Los nmeros son diferentes.

Datos de entrada: A[i,j]= Matriz de 10 filas y 10 columnas. Datos de salida: mayor = Nmero mayor de la matriz. fila = posicin (fila) del nmero mayor. columna = posicin (columna) del nmero mayor.
Diagrama de flujo:

112

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio

ndice

i=1

10

j=1

10

Leer A[i,j]

Si i=1 ^ j=1

mayor=A[i,j]
Si

fila=i mayor=A[i,j] columna=j fila=i columna=j

A[i,j]>mayor

Escribir mayor, fila, columna

Fin

113

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include"conio.h" #include"iostream.h" void main(void)

{ int i, j, A[50,50], mayor, fila, columna; clrscr(); cout<<"PROGRAMA SOBRE MATRICES\n"; cout<<"=======================\n\n"; for(i=1;i<=10;i++) { for(j=1;j<=10;j++) { cin>>A[i,j]; { if(i==1 ^ j==1) { mayor=A[i,j]; fila=i; columna=j; } else { if(A[i,j]>mayor) {

114

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

mayor=A[i,j]; fila=i; columna=j; } } } } } cout<<"el mayor es:"<<mayor; cout<<"la fila es:"<<fila<<"la columna es:"<<columna; getch(); }

Problema 36

Enunciado: Hacer un algoritmo que llene una matriz de 20*20. Sumar las columnas e imprimir que columna tuvo la mxima suma y la suma de esa columna.

Datos de entrada: A[i,j]= Matriz de 20 filas y 20 columnas. Datos de salida: mayor= Suma de la columna con la mxima suma. col= Columna con la mxima suma.
Diagrama de flujo:

115

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio i=1 20

ndice

C[i]=0

j=1

20

Leer A[i,j]

C[i]=C[i]+A[i,j]

mayor=A[1]

col=1

i=1

20

Si C[i]>mayor mayor=C[i]

col=i

Escribir mayor, col

Fin

116

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include"conio.h" #include"iostream.h" void main(void)

{ int i, j, A[40,40],c[40], mayor, col; clrscr(); cout<<"PROGRAMA SOBRE MATRICES\n"; cout<<"=======================\n\n"; for(i=1;i<=20;i++) { c[i]=0; for(j=1;j<=20;j++) { cin>>A[i,j]; c[i]=c[i]+A[i,j]; } } mayor=A[i]; col=1; for(i=1;i<=20;i++) { if(c[i]>mayor) {

117

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

mayor=c[i]; col=i; } } cout<<"la columna de la maxima suma es:"<<col<<endl; cout<<"la suma de la columna es:"<<mayor; getch(); }

Problema 37

Enunciado: Hacer un algoritmo que llene una matriz de 10*10 y que almacene en la diagonal principal unos y en las dems posiciones ceros.

Datos de entrada: Nmero de elementos por fila = 10 Nmero de elementos por columna= 10

Datos de salida: Diagonal principal con unos y dems posiciones con ceros.

Diagrama de flujo:

118

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio

ndice

i=1

10

j=1

10

Si A[i,j]=1 i=j A[i,j]=0

Fin

Cdigo: #include"conio.h" #include"iostream.h" void main(void)

{ int i, j, A[40,40]; clrscr(); cout<<"PROGRAMA SOBRE MATRICES\n"; cout<<"=======================\n\n"; for(i=1;i<=10;i++) {

119

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

for(j=1;j<=10;j++) { if(i==j) {A[i,j]=1;} else {A[i,j]=0;} } } getch(); }

Problema 38

Enunciado: Hacer un algoritmo que llene una matriz de 8*8, que almacene la suma de los renglones y la suma de las columnas en un vector. Imprimir el vector resultante.

Datos de entrada: A[i,j]= Matriz de 8 filas y 8 columnas. Datos de salida: sr= suma de los renglones sc= suma de las columnas

Diagrama de flujo:

120

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio

ndice

i=1

sr[i]=0 j=1 8

Leer A[i,j]

sr[i]=sr[i]+A[i,j]

i=1

sc[i]=0 j=1 8

sc[i]=sc[i]+A[j,i]

k=1

Escribir sr[k], sc[k]

Fin

121

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include"conio.h" #include"iostream.h" void main(void)

{ int i, j, A[50,50], sr[50], sc[50], k; clrscr(); cout<<"PROGRAMA SOBRE MATRICES\n"; cout<<"=======================\n\n"; for(i=1;i<=8;i++) { sr[i]=0; for(j=1;j<=8;j++) { cin>>A[i,j]; sr[i]=sr[i]+A[i,j]; } } for(i=1;i<=8;i++) { sc[i]=0; for(j=1;j<=8;j++) {sc[i]=sc[i]+A[j,i];} }

122

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

for(k=1;k<=8;k++) { cout<<"la suma de los renglones es:"<<sr<<endl; cout<<"la suma de las columnas es:"<<sc; } getch(); }

Problema 39

Enunciado: Calcule la mediana de un conjunto de datos. La mediana en un arreglo ordenado es el elemento central. Si el nmero de elementos del arreglo es impar existe un nico elemento ubicado en el centro del arreglo. Si el nmero de elementos del arreglo es par, existen dos elementos centrales y la mediana estar dado por el promedio de ambos trminos centrales (si el arreglo tiene 8 trminos, los trminos centrales son los ubicados en la posicin 4 y 5).

Datos de entrada: n= Nmero de elemnos del arreglo.

Datos de salida: Mediana= Mediana del arreglo.

Diagrama de flujo:

123

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio

ndice

Leer n

i=1

Leer A[i]

i=2

j=n

Si A[j-1]>A[j] aux=A[i-1] A[j-1]=A[j] A[j]=aux

Si nmod2=0 T1=n/2 T2=T1+1 T=(n+1)/2 Mediana=A[T]

Mediana=(A[T1]+A[T2])/2

Escribir Mediana

Fin

124

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo:

#include"conio.h" #include"iostream.h" void main(void)

{ int n, i, j, A[20], aux, T, T1, T2, Mediana; clrscr(); cout<<"PROGRAMA SOBRE ARREGLOS UNIDIMENSIONALES\n"; cout<<"========================================\n\n"; cout<<"Numero de elementos: "; cin>>n; for(i=1;i<=n;i++) { cout<<"A[i]="; cin>>A[i]; } for(i=2;i<=n;i++) { for(j=n;j<=i;j++) { if(A[j-1]>A[j]) { aux=A[i-1];

125

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

A[j-1]=A[j]; A[j]=aux; } } }

if(n%2==0) { T1=n/2; T2=T1+1; Mediana=(A[T1]+A[T2])/2; } else { T=(n+1)/2; Mediana=A[T]; } cout<<"La Mediana es: "<<Mediana; getch(); }

126

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Problema 40

Enunciado: Determine la cantidad de veces que aparece cada elemento de un arreglo.

Datos de entrada: n= Nmero de elementos del arreglo.

Datos de salida: C[i]= Cantidad de veces que aparece cada elemento de un arreglo.

Diagrama de flujo:

127

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio

ndice

Leer n

i=n

Leer A[i]

i=n

C[i]=0

j=n

Si A[j-1]=A[j] C[i]=C[i]+1

i=1

Escribir C[i]

Fin

128

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo:

#include"conio.h" #include"iostream.h" void main(void)

{ int n, i, j, C[30], A[30] ; clrscr(); cout<<"PROGRAMA SOBRE ARREGLOS UNIDIMENSIONALES\n"; cout<<"========================================\n\n"; cout<<"Numero de elementos: "; cin>>n; for(i=1;i<=n;i++) { cout<<"A[i]="; cin>>A[i]; } for(i=n;i<=n;i++) { C[i]=0; } for(j=n;j<=n;j++) { if(A[j-1]==A[j])

129

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

{C[i]=C[i]+1;} } for(i=n;i<=n;i++) {cout<<C[i];}

getch(); }

Problema 41

Enunciado: Se tiene dos arreglos ordenados. Se desea unirlos y formar un tercer arreglo donde los datos permanezcan ordenados (la ordenacin puede ser en orden descendente o ascendente).

Datos de entrada: nA= Nmero de elementos del primer arreglo. nB= Nmero de elementos del segundo arreglo.

Datos de salida: C[i]= Tercer arreglo formado ascendentemente o descendentemente.

Diagrama de flujo:

130

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio
Leer nA, nB

ndice

i=1

nA,1

Leer A[i]

j=1

nB,1

Leer B[j]

k=1 C[k]=A[k]

nA,1

j=1

nB,1

k=k+1 C[k]=A[j] i=2 k,1

j=k

i,1

Si aux=A[j-1] A[j-1]=A[j] A[j]=aux C[j-1]>C[j]

i=1

k,1

Escribir C[i]

Fin

131

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include"conio.h" #include"iostream.h" void main(void) { float nA, nB, i, j, k, A[20], B[20], C[20], aux; clrscr(); cout<<"PROGRAMA SOBRE ARREGLOS UNIDIMENSIONALES\n"; cout<<"========================================\n\n"; cout<<"Numero de elementos de A:"; cin>>nA; cout<<"Numero de elementos de B:"; cin>>nB; for(i=1;i<=nA;i++) { cout<<"A[i]="; cin>>A[i]; } for(j=1;j<=nB;j++) { cout<<"B[j]="; cin>>B[j]; }

132

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

for(k=1;k<=nA;k++) {C[k]=A[j];} for(j=1;j<=nB;j++) { k=k+1; C[k]=A[j]; } for(i=2;i<=k;i++) { for(j=k;j<=i;j++) { if(C[j-1]>C[j]) { aux=A[j-1]; A[j-1]=A[j]; A[j]=aux; } } } for(i=1;i<=k;i++) {cout<<C[i];} getch(); }

133

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Problema 42 Enunciado: Dado 5 nmeros obtener el mayor. Datos de entrada: 5 nmeros Datos de salida: m=mayor Diagrama de flujo:

Inicio

Leer n[0],n[1] n[2],n[3] n[4]

i=0 ; i<=4 ;

i++

n[i]>m

m=n[i]

Escribir m

Fin

134

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo:
#include iostream.h #include conio.h Void main() {int i,m=0,n[5]; cout<<NUMERO 1; cin>>n[0]; cout<<NUMERO 2; cin>>n[1]; cout<<NUMERO 3; cin>>n[2]; cout<<NUMERO 4; cin>>n[]3; cout<<NUMERO5; cin>>n[4]; for(i=0;i<=4;i++) { If (n[i]>m) M=n[i]; } cout<<MAYOR:; cout<<m; getch(); }

Problema 43 Enunciado: Lea 4 nmeros y almacnelo en un vector A y los otros 4 nmeros en un vector llamado B, y determine cuantos nmeros de se encuentran en B. Datos de entrada 4 nmeros = a[4] 4 nmeros = b[4] Datos de salida c= cantidad Diagrama de flujo:

135

http://www.esisvirtual.com

Algoritmos codificados en C++


inicio Leer a[0],a[1] a[2],a[3] b[0],b[2] b[1],b[3]

ndice

I=0 ; i<=4 ; J=0 ; j<=4 ;

i++ j++

a[i]=b[j]

c=c+1

Escribir c

Fin

Cdigo: #include iostream.h #include conio.h Void main() {int c=0,I,j,a[4],b[4]; cout<<ARREGLO A; cout<<endl; 136 http://www.esisvirtual.com

Algoritmos codificados en C++


cout<<========; cout<<endl; cout<<numero 1 : ; cin>>a[0]; cout<<numero 2 : ; cin>>a[1]; cout<<numero 3 : ; cin>>a[2]; cout<<numero 4: ; cin>>a[3]; cout<<ARREGLO B ; cout<<endl; cout<<==========; cout<<endl; cout<<numero 1 : ; cin>>b[0]; cout<<numero 2 : ; cin>>b[1]; cout<<numero 3 : ; cin>>b[2]; cout<<numero 4: ; cin>>b[3]; for(i=0;i<=3;i++) { for(j=0;j<=3;j++) { If (a[i]==b[j]) c=c+1; } }

ndice

cout<<cantidad : ; cout<<c; getch(); } Problema 44 Enunciado: Almacene en una matriz de 3*2,6 nmeros y obtenga la cantidad de pares e impares. Datos de entrada: 6 nmeros = n[3][2];

137

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Datos de salida: cp=cantidad de pares ci=cantidad de impares diagrama de flujo:

Inicio

LEER n[0][0],n[0][1] n[1][0],n[1][1] n[2][0],n[2][1]

i=0 ; i<=2 ; j=0 ; j<=1 ;

i++ j++

n[i][j]%2=0

ci=ci+1

cp=cp+1

Escribir cp,ci

Fin

138

http://www.esisvirtual.com

Algoritmos codificados en C++


cdigo: #include iostream.h #include conio.h void main() {int cp=0,ci=0,I,j,n[3][2]; cout<<NUMERO (0,0): ; cin>>n[0][0]; cout<<NUMERO (0,1): ; cin>>n[0][1]; cout<<NUMERO (1,0): ; cin>>n[1][0]; cout<<NUMERO (1,1): ; cin>>n[1][1]; cout<<NUMERO (2,0): ; cin>>n[2][0]; cout<<NUMERO (2,1): ; cout<<n[2][1]; for (i=0;i<=2;i++) { for (j=0;j<=1;j++) { if(n[i][j]%2==0) cp=cp+1; else ci=ci+1; } } cout<<CANTIDAD PARES : ; cout<<cp; cout<<endl; cout<<CANTIDAD IMPARES : ; cout<<ci; cout<<endl; getch(); }

ndice

Problema 45

Enunciado: Dado la matriz A de 2*2, La matriz B de 2*2, obtenga la suma de dicha matriz.

139

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Datos de entrada: 4 nmeros matriz A = a[2][2] 4 nmeros matriz B = b[2][2] Datos de salida: 4 nmeros matriz c = c[2][2] Diagrama de flujo:

Inicio

LEER a[0][0],a[0][1] a[1][0],a[1][1] b[0][0],b[0][1] b[1][0],b[1][1]

i=0 ; i<=1 ; j=0 ; j<=1 ;

i++ j++

c[i][j]=a[i][j]+b[i][j]

Escribir
c[0][0],c[0][1] c[1][0],c[1][1]

Fin

140

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include iostream.h #include conio.h Void main()

{int I,j,a[2][2],b[2][2],c[2][2]; cout<<ARREGLOS DE A ; cout<<endl; cout<<=============; cout<<endl<<endl; cout<<NUMERO (0,0): ; cin>>n[0][0]; cout<<NUMERO (0,1): ; cin>>n[0][1]; cout<<NUMERO (1,0): ; cin>>n[1][0]; cout<<NUMERO (1,1): ; cin>>n[1][1]; cout<<endl<<endl; cout<<ARREGLOS DE B ; cout<<endl; cout<<=============; cout<<endl<<endl; cout<<NUMERO (0,0): ; cin>>b[0][0]; cout<<NUMERO (0,1): ; cin>>b[0][1]; cout<<NUMERO (1,0): ; cin>>b[1][0]; cout<<NUMERO (1,1): ; cin>>b[1][1]; for (i=0;j<=1;j++) { for(j=0;j<=1;j++) c[i][j]=a[i][j]+b[i][j]; } cout<<AREEGLOS DE C ; cout<<endl; cout<<=============; cout<<endl<<endl; cout<<NUMERO (0,0): ;

141

http://www.esisvirtual.com

Algoritmos codificados en C++


cin>>c[0][0]; cout<<NUMERO (0,1): ; cin>>c[0][1]; cout<<NUMERO (1,0): ; cin>>c[1][0]; cout<<NUMERO (1,1): ; cin>>c[1][1]; getch(); }

ndice

Problema 46

Enunciado: Ingrese 6 nmeros en una matriz de 3*2 y ordene los nmeros de cada columna

Datos de entrada:

6 nmeros = n[3][2] Datos de salida:

Cada columna ordenada=n[3][2]

Diagrama de flujo:

142

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Inicio

LEER n[0][0],n[0][1] n[1][0],n[1][1] n[2][0],n[2][1]

I=0 ; i<=1 ; J=0 ; j<=1 ;

i++ j++

n[j][0]>n[j+1][0]

tmp=n[j][0] n[j][0]=n[j+1][0] n[j+1][0]=tmp

n[j][1]>n[j+1][0]

tmp=n[j][1] n[j][1]=n[j+1][1] n[j+1][1]=tmp

Escribir
n[0][0],n[0][1] n[1][0],n[1][1] n[2][0],n[2][1]

Fin

143

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Cdigo: #include iostream.h #include conio.h void main() {int tmp,I,j,n[3][2]; clrscr(); cout<<NUMERO (0,0): ; cin>>n[0][0]; cout<<NUMERO (0,1): ; cin>>n[0][1]; cout<<NUMERO (1,0): ; cin>>n[1][0]; cout<<NUMERO (1,1): ; cin>>n[1][1]; cout<<NUMERO (2,0): ; cin>>n[2][0]; cout<<NUMERO (2,1): ; cout<<n[2][1]; for (i=0;i<=1;i++) { for (j=0;j<=1;j++) { if(n[j][0]>n[j+1][0]) { tmp=n[j][0]; n[j][0]=n[j+1][0]; n[j+1][0]=tmp; } if(n[j][1]>n[j+1][1]) { tmp=n[j][1]; n[j][1]=n[j+1][1]; n[j+1][1]=tmp; } } } cout<<ORDENADO POR COLUMNA; cout<<endl; cout<<=======================; cout<<endl<<endl; cout<<NUMERO (0,0): ; cout<<n[0][0]; cout<<NUMERO (0,1): ; cout<<n[0][1];

144

http://www.esisvirtual.com

Algoritmos codificados en C++


cout<<NUMERO (1,0): ; cout<<n[1][0]; cout<<NUMERO (1,1): ; cout<<n[1][1]; cout<<NUMERO (2,0): ; cout<<n[2][0]; cout<<NUMERO (2,1): ; cout<<n[2][1]; getch(); }

ndice

Problema 47

Enunciado:

Dado 5 nmeros obtener la suma.

Datos de entrada: 5 numero n[5].

Datos de salida: Suma (s).

diagrama de flujo:

145

http://www.esisvirtual.com

Algoritmos codificados en C++


Inicio

ndice

i, s: entero

n[5] : entero

Leer n[0], n[1], N[2], n[3], n[4]

I<=4, i

1, i

i+1

s + n [i]

Escribir s

Fin Codigo: #includeiostream.h #includeconio.h Void main(void) { int s=a,I; Int n[5]; Cout<<numero 1: ; cin>>n*1+; Cout<<numero 2: ; cin>>n*2+; Cout<<numero 3: ; cin>>n*3+; Cout<<numero 4: ; cin>>n*4+; Cout<<numero 5: ; cin>>n*5+; For(i=0; i<=4; i++) S+=n[i]; Cout<<\n; Cout<<suma: <<s<<\n; }

146

http://www.esisvirtual.com

Algoritmos codificados en C++


Problema 48
Enunciado: dado 5 nmeros y un divisor, determinar Cuantos nmeros mltiplos hay del divisor en los 5 Nmeros ingresados. Datos de entrada: *5 nmeros (n [5]). *Divisor (d) Datos de salida: *cantidad (c) Diagrama de flujo: Inicio D, i, c: entero N [5]: entero Leer n[0], n[1], n[2], n[3], n[4],d I<=4, i 0, i i+1

ndice

n[i] mod d=0

c+1

Escribir c

Fin

147

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Problema 49 Enunciado: busque un nmero en 7 nmeros ingresados Y determine la posicin y su existe o no el numero buscado, Use el mtodo de bsqueda secuencial. Datos de entrada: 7 nmeros (n [7]). Numero a buscar (nb)

Datos de salida: Repuesta (r) Posicin (P)

148

http://www.esisvirtual.com

Algoritmos codificados en C++


diagrama de flujo:

ndice

inicio Nb, p, i: entero R: cadena N (7): entero

Leer n[0], n[1], n[2], n[3], n[4], n[5], n[6], nb

NO EXISTE P -1

I<=6, i

0, i

i+1

N[i] = bn

EXISTE p i salir

Escribir r, p

Fin

149

http://www.esisvirtual.com

Algoritmos codificados en C++


Cdigo: #includeiostrream.h #includeconio.h Void main(void) { Int nb, p, i; Int n[7]; Cout<<numero 1: ; cin>>n*1+; Cout<<numero 2: ; cin>>n*2+; Cout<<numero 3: ; cin>>n*3+; Cout<<numero 4: ; cin>>n*4+; Cout<<numero 5: ; cin>>n*5+; Cout<<numero 6: ; cin>>n*6+; Cout<<numero 7: ; cin>>n*7+; r = NO EXISTE; p = -1; For (I = 0 ; I <=6; i++) { If(n[i] == nb) { r = EXISTE; p =I ; break; } } Cout<<\n; Cout<<respuesta: <<r<<\n; Cout<<posicion: <<p<<\n; }

ndice

Problema 50 Enunciado: ordene 4 nmeros usando el mtodo de Ordenacin por intercambio (burbuja). Datos de entrada: 4 nmeros (n [4]). Datos de salida: 4 nmeros ordenados (n [4])

150

http://www.esisvirtual.com

Algoritmos codificados en C++


Diagrama de flujo:

ndice

Inicio tmp, I, j, lI, ls: entero

N [4]: entero Leer n[0], n[1], n[2], n[3] li ls 0 3

I<= ls-1, i

li, i

i+1

J<=ls-1, j

li, j

j+1

n[j]>n[j+i]

Tmp n[j] n[j] n[j+1] n[j+1] tmp

Escribir n[0], n[1], n[2], n[3]

Fin

151

http://www.esisvirtual.com

Algoritmos codificados en C++


Cdigo: #includeiostream.h #includeconio.h Void main (void) { Int tmp, i, j, ll, ls; Int n [4]; Cout<<numero 1: Cout<<numero 2: Cout<<numero 3: Cout<<numero 4: ; cin>>n*1+; ; cin>>n*2+; ; cin>>n*3+; ; cin>>n*4+;

ndice

Li= 0; Ls= (sizeof (n)/ sizeof (int)) -1; For(i= li; I <=ls -1; i++){ For(j =li; j <= ls 1; j++) { If(n[j] > n[j + 1]) { Tmp = n[j]; n[j] = n [j + 1]; n[j + 1] = tmp; } } } Cout<<\n; Cout<<ordenado \n; Cout<<numero 1: <<n*1+ <<\n; Cout<<numero 2: <<n*2+ <<\n; Cout<<numero 3: <<n*3+ <<\n; Cout<<numero 4: <<n*4+ <<\n; }

Problema 51 Enunciado: ingrese 12 numeros en un arreglo bidimencional (matriz) de 4*3, obtenga la suma de cada columna.

152

http://www.esisvirtual.com

Algoritmos codificados en C++


Datos de entrada: 12 numeros (n[4][3]) Datos de salida Suma columna 1 (s0) Suma columna 2 (s1) Suma columna 3 (s2) Diagrama de flujo:

ndice

Inicio S0, s1, s2, i, j: entero

N [4][3] : entero

Leer n[0] [0], n[0][1], n[o] [2], n[1][0], n[1] [1], n[1][2], n[2] [0], n[2][1], n[2] [2], n[3][0], n[3] [1], n[3][2]

I<=4, i

0, i

i+1

S0 S1 S2

s + n[i][o] s + n[i][1] s + n[i][2]

Escribir s0, s1, s2

Fin

153

http://www.esisvirtual.com

Algoritmos codificados en C++


Cdigo: #includeiostream.h #includeconio.h Void main(void) { Int s0=0, s1=0, s2=0, I,j; Int n[4][3]; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n*+*+; Cout<<numero (,) : ; cin>>n[][]; Cout<<numero (,) : ; cin>>n*+*+; For(i= 0; i<=3; i++) { S0 += n[i][0]; S1 += n[i][1]; S2 += n[i][2]; } Cout<<suma col. 0: <<s0<<\n; Cout<<suma col. 1: <<s1<<\n; Cout<<suma col. 2: <<s2<<\n; } Problema 52 Enunciado: busque un nmero dentro de una matriz de 4*3 y determine la posicin y si existe o no el nmero buscado, use el mtodo de bsqueda secuencial. datos de entrada Matriz (n [4] [3]) Numero a buscar (nb) datos de salida respuesta (r) ,posicin 1era dim. (p1), Posicin 2da dim. (p2)

ndice

154

http://www.esisvirtual.com

Algoritmos codificados en C++

ndice

Diagrama de flujo :

Inicio Nb, i, j, p1, p2:entero R : cadena N [4] : entero Leer n[0][0], n[0][1], n[0][2], N[1][0], n[1][1], n[1][2], N[2][0], n[2][1], n[2][2], N[3][0], n[3][1], n[3][2] r NO EXISTE p1 - i p2 - j 0, i 0, j I+I j+1

Escribir r, p1, p2 Fin

I<=3, i J<=2, j

N[i] [j] = nb r SI EXISTE p1 i p2 j Salir

r= SI EXISTE Salir A

155

http://www.esisvirtual.com

Algoritmos codificados en C++


Cdigo: #Includeiostrem.h #Includeconio.h Void main (void) { Int nb, i, j, p1, p2; String r = ; Int n[4][3]; Cout<<numero (0, 0): ; cin>>n [0][0]; Cout<<numero (0,1): ; cin>>n [0][1]; Cout<<numero (0,2): ; cin>>n*o+*2+; Cout<<numero (1,0): ; cin>>n [1][0]; Cout<<numero (1,1): ; cin>>n [1][1]; Cout<<numero (1,2): ; cin>>n [1][2]; Cout<<numero (2,0): ; cin>>n [2][0]; Cout<<numero (2,1): ; cin>>n [2][1]; Cout<<numero (2,2): ; cin>>n [2][2]; Cout<<numero (3,0): ; cin>>n [3][0]; Cout<<numero (3,1): ; cin>>n [3][1]; Cout<<numero (3,2): ; cin>>n [3][2]; Cout<<numero a buscar: ; cin>>nb; r = NO EXISTE; p1 = - 1 p2 = - 1; For (i = 0; i<=3; i++) { For (j = 0; j<=2; j++) { If (n [I] [j] == nb) { r = SI EXISTE; p1 = I; p2 = j; Break; } } If (r == SI EXISTE) Break; } Cout<<\n; Cout<<respuesta: <<r<<\n; Cout<<posicin 1era dim.: <<p1<<\n; Cout<<posicin 2da dim.: <<p2<<\n; }

ndice

156

http://www.esisvirtual.com

Vous aimerez peut-être aussi